Oasis

Room ID: 198

Wiki
Difficulty filter

From: 1
Left Door
To: 1
Left Door

Exit condition:

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

Requires:

{
  "doorUnlockedAtNode": 2
}

Exit condition:

{
  "leaveWithRunway": {
    "length": 14,
    "openEnd": 0
  }
}

Unlocks doors:

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

Get the shinecharge then move towards and shinespark out the left door.

Entrance condition:

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

Requires:

"canStutterWaterShineCharge"
"canShinechargeMovementComplex"
"h_canShineChargeMaxRunway"
{
  "or": [
    {
      "shinespark": {
        "frames": 9
      }
    },
    {
      "and": [
        "canShinechargeMovementTricky",
        {
          "shinespark": {
            "frames": 2
          }
        }
      ]
    }
  ]
}

Exit condition:

{
  "leaveWithSpark": {}
}

Unlocks doors:

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

Use Screw Attack to break the bomb block by entering from a non-water room with a spin jump. It helps to enter as low as possible and with as much horizontal speed as possible and with HiJump turned off. Even if executed correctly, the trick can fail with 50% probability due to collision oscillation.

Entrance condition:

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

Requires:

{
  "notable": "Cross Room Jump with Screw Attack"
}
"canTrickyJump"
"canCrossRoomJumpIntoWater"
"ScrewAttack"

Clears obstacles: A

From: 1
Left Door
To: 1
Left Door

Use Screw Attack to break the bomb block by entering from a non-water room with a spin jump. It helps to enter as low as possible and with as much horizontal speed as possible and with HiJump turned off. Even if executed correctly, the trick can fail with 50% probability due to collision oscillation.

Entrance condition:

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

Requires:

{
  "notable": "Cross Room Jump with Screw Attack"
}
"canTrickyJump"
"canCrossRoomJumpIntoWater"
"ScrewAttack"

Clears obstacles: A

From: 1
Left Door
To: 1
Left Door

Entrance condition:

{
  "comeInWithTemporaryBlue": {}
}

Requires:

"canChainTemporaryBlue"

Clears obstacles: A

From: 1
Left Door
To: 1
Left Door

Entrance condition:

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

Clears obstacles: A

From: 1
Left Door
To: 1
Left Door

Entrance condition:

{
  "comeInWithBlueSpringBallBounce": {
    "movementType": "controlled"
  }
}

Clears obstacles: A

From: 1
Left Door
To: 1
Left Door

Entrance condition:

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

Requires:

{
  "or": [
    "h_canArtificialMorphPowerBomb",
    {
      "and": [
        "h_canArtificialMorphIBJ",
        "Gravity"
      ]
    },
    {
      "and": [
        "h_canArtificialMorphSpringBall",
        "h_canArtificialMorphBombs"
      ]
    }
  ]
}

Clears obstacles: A

From: 1
Left Door
To: 2
Right Door

Entrance condition:

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

Requires:

"Gravity"

Exit condition:

{
  "leaveShinecharged": {
    "framesRemaining": 179
  }
}

Unlocks doors:

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

Entrance condition:

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

Requires:

"canStutterWaterShineCharge"
"h_canShineChargeMaxRunway"

Exit condition:

{
  "leaveShinecharged": {
    "framesRemaining": 179
  }
}

Unlocks doors:

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

Entrance condition:

{
  "comeInShinecharged": {
    "framesRequired": 25
  }
}

Requires:

{
  "shinespark": {
    "frames": 23
  }
}

Exit condition:

{
  "leaveWithSpark": {}
}

Unlocks doors:

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

Entrance condition:

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

Requires:

"canStutterWaterShineCharge"
"h_canShineChargeMaxRunway"
"canChainTemporaryBlue"

Exit condition:

{
  "leaveWithTemporaryBlue": {}
}

Unlocks doors:

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

Entrance condition:

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

Exit condition:

{
  "leaveWithStoredFallSpeed": {
    "fallSpeedInTiles": 1
  }
}

Unlocks doors:

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

Entrance condition:

{
  "comeInWithStoredFallSpeed": {
    "fallSpeedInTiles": 2
  }
}

Exit condition:

{
  "leaveWithStoredFallSpeed": {
    "fallSpeedInTiles": 2
  }
}

Unlocks doors:

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

Use Screw Attack to break the bomb block by entering from a non-water room with a spin jump, and make it all the way through the top door. This uses exactly 14 tiles (with no open end) - more rises too fast to do the trick, less does not have the height needed to reach the door. Use angle to break spin, then a momentumConservingTurnaround as early as possible, right as you pass the above tile horizontally. Using the background for positioning may help. The second momentumConservingTurnaround is as late as possible, just before touching the above platform. A third momentumConservingTurnaround is used on the door as it is opening.

Entrance condition:

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

Requires:

{
  "notable": "Cross Room Jump with Screw Attack and Speed through the Top Door"
}
"canInsaneJump"
"canCrossRoomJumpIntoWater"
"ScrewAttack"
"canMomentumConservingTurnaround"

Exit condition:

{
  "leaveNormally": {}
}

Unlocks doors:

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

The spark takes Samus directly to the top platform.

Entrance condition:

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

Requires:

"h_canNavigateUnderwater"
{
  "shinespark": {
    "frames": 23,
    "excessFrames": 10
  }
}
From: 1
Left Door
To: 4
Junction Below Top Door

Spark diagonally through the bomb blocks.

Entrance condition:

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

Requires:

"canStutterWaterShineCharge"
"h_canShineChargeMaxRunway"
{
  "shinespark": {
    "frames": 23,
    "excessFrames": 10
  }
}
From: 1
Left Door
To: 4
Junction Below Top Door

Use Screw Attack to break the bomb block by entering from a non-water room with a spin jump, and make it to the top. It helps to enter as low as possible and with as much horizontal speed as possible and with HiJump turned off.

Entrance condition:

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

Requires:

{
  "notable": "Cross Room Jump with Screw Attack"
}
"canInsaneJump"
"canCrossRoomJumpIntoWater"
"ScrewAttack"
"canMomentumConservingTurnaround"
Base (Basic)
Oasis
From: 1
Left Door
To: 5
Bottom Junction

From: 1
Left Door
To: 6
Junction Above Bomb Blocks

This is a short climb, only a few tiles.

Entrance condition:

{
  "comeInWithDoorStuckSetup": {}
}

Requires:

"canXRayClimb"
From: 1
Left Door
To: 6
Junction Above Bomb Blocks

Spark vertically through the bomb blocks. It is still possible to break the blocks while below 30 Energy by jumping before sparking.

Entrance condition:

{
  "comeInShinecharged": {
    "framesRequired": 40
  }
}

Requires:

"h_canNavigateUnderwater"
{
  "or": [
    {
      "shinespark": {
        "frames": 10,
        "excessFrames": 8
      }
    },
    {
      "and": [
        "canMidairShinespark",
        {
          "shinespark": {
            "frames": 7,
            "excessFrames": 7
          }
        }
      ]
    }
  ]
}

Clears obstacles: A

From: 1
Left Door
To: 6
Junction Above Bomb Blocks

Spark vertically through the bomb blocks. It is still possible to break the blocks while below 30 Energy by jumping before sparking.

Entrance condition:

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

Requires:

"canStutterWaterShineCharge"
"h_canShineChargeMaxRunway"
{
  "or": [
    {
      "shinespark": {
        "frames": 10,
        "excessFrames": 8
      }
    },
    {
      "and": [
        "canMidairShinespark",
        {
          "shinespark": {
            "frames": 7,
            "excessFrames": 7
          }
        }
      ]
    }
  ]
}

Clears obstacles: A

From: 2
Right Door
To: 1
Left Door

Entrance condition:

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

Requires:

"Gravity"

Exit condition:

{
  "leaveShinecharged": {
    "framesRemaining": 179
  }
}

Unlocks doors:

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

Entrance condition:

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

Requires:

"canStutterWaterShineCharge"
"h_canShineChargeMaxRunway"

Exit condition:

{
  "leaveShinecharged": {
    "framesRemaining": 179
  }
}

Unlocks doors:

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

Entrance condition:

{
  "comeInShinecharged": {
    "framesRequired": 25
  }
}

Requires:

{
  "shinespark": {
    "frames": 23
  }
}

Exit condition:

{
  "leaveWithSpark": {}
}

Unlocks doors:

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

Entrance condition:

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

Requires:

"canStutterWaterShineCharge"
"h_canShineChargeMaxRunway"
"canChainTemporaryBlue"

Exit condition:

{
  "leaveWithTemporaryBlue": {}
}

Unlocks doors:

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

Entrance condition:

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

Exit condition:

{
  "leaveWithStoredFallSpeed": {
    "fallSpeedInTiles": 1
  }
}

Unlocks doors:

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

Entrance condition:

{
  "comeInWithStoredFallSpeed": {
    "fallSpeedInTiles": 2
  }
}

Exit condition:

{
  "leaveWithStoredFallSpeed": {
    "fallSpeedInTiles": 2
  }
}

Unlocks doors:

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

Exit condition:

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

Requires:

{
  "doorUnlockedAtNode": 1
}

Exit condition:

{
  "leaveWithRunway": {
    "length": 14,
    "openEnd": 0
  }
}

Unlocks doors:

{"nodeId":1,"types":["ammo"],"requires":[]}
From: 2
Right Door
To: 2
Right Door

Get the shinecharge and move towards then shinespark out the right door.

Entrance condition:

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

Requires:

"canStutterWaterShineCharge"
"canShinechargeMovementComplex"
"h_canShineChargeMaxRunway"
{
  "or": [
    {
      "shinespark": {
        "frames": 9
      }
    },
    {
      "and": [
        "canShinechargeMovementTricky",
        {
          "shinespark": {
            "frames": 2
          }
        }
      ]
    }
  ]
}

Exit condition:

{
  "leaveWithSpark": {}
}

Unlocks doors:

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

Use Screw Attack to break the bomb block by entering from a non-water room with a spin jump. It helps to enter as low as possible and with as much horizontal speed as possible and with HiJump turned off. Even if executed correctly, the trick can fail with 50% probability due to collision oscillation.

Entrance condition:

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

Requires:

{
  "notable": "Cross Room Jump with Screw Attack"
}
"canTrickyJump"
"canCrossRoomJumpIntoWater"
"ScrewAttack"

Clears obstacles: A

From: 2
Right Door
To: 2
Right Door

Use Screw Attack to break the bomb block by entering from a non-water room with a spin jump. It helps to enter as low as possible and with as much horizontal speed as possible and with HiJump turned off. Even if executed correctly, the trick can fail with 50% probability due to collision oscillation.

Entrance condition:

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

Requires:

{
  "notable": "Cross Room Jump with Screw Attack"
}
"canTrickyJump"
"canCrossRoomJumpIntoWater"
"ScrewAttack"

Clears obstacles: A

From: 2
Right Door
To: 2
Right Door

Entrance condition:

{
  "comeInWithTemporaryBlue": {}
}

Requires:

"canChainTemporaryBlue"

Clears obstacles: A

From: 2
Right Door
To: 2
Right Door

Entrance condition:

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

Clears obstacles: A

From: 2
Right Door
To: 2
Right Door

Entrance condition:

{
  "comeInWithBlueSpringBallBounce": {
    "movementType": "controlled"
  }
}

Clears obstacles: A

From: 2
Right Door
To: 2
Right Door

Entrance condition:

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

Requires:

{
  "or": [
    "h_canArtificialMorphPowerBomb",
    {
      "and": [
        "h_canArtificialMorphIBJ",
        "Gravity"
      ]
    },
    {
      "and": [
        "h_canArtificialMorphSpringBall",
        "h_canArtificialMorphBombs"
      ]
    }
  ]
}

Clears obstacles: A

Use Screw Attack to break the bomb block by entering from a non-water room with a spin jump, and make it all the way through the top door. This uses exactly 14 tiles (with no open end) - more rises too fast to do the trick, less does not have the height needed to reach the door. Use angle to break spin, then a momentumConservingTurnaround as early as possible, right as you pass the above tile horizontally. Using the background for positioning may help. The second momentumConservingTurnaround is as late as possible, just before touching the above platform. A third momentumConservingTurnaround is used on the door as it is opening.

Entrance condition:

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

Requires:

{
  "notable": "Cross Room Jump with Screw Attack and Speed through the Top Door"
}
"canInsaneJump"
"canCrossRoomJumpIntoWater"
"ScrewAttack"
"canMomentumConservingTurnaround"

Exit condition:

{
  "leaveNormally": {}
}

Unlocks doors:

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

The spark takes Samus directly to the top platform.

Entrance condition:

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

Requires:

"h_canNavigateUnderwater"
{
  "shinespark": {
    "frames": 23,
    "excessFrames": 10
  }
}
From: 2
Right Door
To: 4
Junction Below Top Door

Spark diagonally through the bomb blocks.

Entrance condition:

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

Requires:

"canStutterWaterShineCharge"
"h_canShineChargeMaxRunway"
{
  "shinespark": {
    "frames": 23,
    "excessFrames": 10
  }
}
From: 2
Right Door
To: 4
Junction Below Top Door

Use Screw Attack to break the bomb block by entering from a non-water room with a spin jump, and make it to the top. It helps to enter as low as possible and with as much horizontal speed as possible and with HiJump turned off.

Entrance condition:

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

Requires:

{
  "notable": "Cross Room Jump with Screw Attack"
}
"canInsaneJump"
"canCrossRoomJumpIntoWater"
"ScrewAttack"
"canMomentumConservingTurnaround"
From: 2
Right Door
To: 4
Junction Below Top Door

Immediately after teleporting, press down to retract Grapple to avoid getting stuck inside the wall (in case the top door is blue, causing it to open with Grapple on entry).

Entrance condition:

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

Requires:

"canOffScreenMovement"
Base (Basic)
Oasis
From: 2
Right Door
To: 5
Bottom Junction

From: 2
Right Door
To: 6
Junction Above Bomb Blocks

This is a short climb, only a few tiles.

Entrance condition:

{
  "comeInWithDoorStuckSetup": {}
}

Requires:

"canXRayClimb"
From: 2
Right Door
To: 6
Junction Above Bomb Blocks

Spark vertically through the bomb blocks. It is still possible to break the blocks while below 30 Energy by jumping before sparking.

Entrance condition:

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

Requires:

"canStutterWaterShineCharge"
"h_canShineChargeMaxRunway"
{
  "or": [
    {
      "shinespark": {
        "frames": 10,
        "excessFrames": 8
      }
    },
    {
      "and": [
        "canMidairShinespark",
        {
          "shinespark": {
            "frames": 7,
            "excessFrames": 7
          }
        }
      ]
    }
  ]
}

Clears obstacles: A

From: 2
Right Door
To: 6
Junction Above Bomb Blocks

Spark vertically through the bomb blocks. It is still possible to break the blocks while below 30 Energy by jumping before sparking.

Entrance condition:

{
  "comeInShinecharged": {
    "framesRequired": 40
  }
}

Requires:

"h_canNavigateUnderwater"
{
  "or": [
    {
      "shinespark": {
        "frames": 10,
        "excessFrames": 8
      }
    },
    {
      "and": [
        "canMidairShinespark",
        {
          "shinespark": {
            "frames": 7,
            "excessFrames": 7
          }
        }
      ]
    }
  ]
}

Clears obstacles: A

From: 3
Top Door
To: 3
Top Door

Entrance condition:

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

Requires:

{
  "or": [
    "Gravity",
    "HiJump",
    "canSpringBallJumpMidAir"
  ]
}

Exit condition:

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

Bypasses door shell: true

From: 3
Top Door
To: 3
Top Door

Entrance condition:

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

Requires:

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

Exit condition:

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

Bypasses door shell: true

Base (Basic)
Oasis
From: 3
Top Door
To: 4
Junction Below Top Door

From: 3
Top Door
To: 5
Bottom Junction

Entrance condition:

{
  "comeInWithTemporaryBlue": {
    "direction": "any"
  },
  "comesThroughToilet": "any"
}

Requires:

"canChainTemporaryBlue"
"canXRayTurnaround"

Clears obstacles: A

From: 3
Top Door
To: 5
Bottom Junction

Entrance condition:

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

Requires:

"h_canArtificialMorphBombThings"

Clears obstacles: A

Base (Basic)
Oasis
From: 4
Junction Below Top Door
To: 3
Top Door

Requires:

"Gravity"
Suitless (Basic)
Oasis
From: 4
Junction Below Top Door
To: 3
Top Door

Requires:

{
  "or": [
    "HiJump",
    "canSpringBallJumpMidAir"
  ]
}
Crystal Flash (Very Hard)
Oasis
From: 4
Junction Below Top Door
To: 4
Junction Below Top Door

Requires:

"h_canCrystalFlash"
Base (Basic)
Oasis
From: 4
Junction Below Top Door
To: 6
Junction Above Bomb Blocks

Base (Basic)
Oasis
From: 5
Bottom Junction
To: 1
Left Door

Base (Basic)
Oasis
From: 5
Bottom Junction
To: 2
Right Door

Crystal Flash (Very Hard)
Oasis
From: 5
Bottom Junction
To: 5
Bottom Junction

Requires:

"h_canCrystalFlash"
Base (Basic)
Oasis
From: 5
Bottom Junction
To: 5
Bottom Junction

Requires:

"h_canNavigateUnderwater"
{
  "or": [
    "h_canUsePowerBombs",
    {
      "and": [
        "Gravity",
        "ScrewAttack"
      ]
    },
    {
      "and": [
        "Gravity",
        "canIBJ"
      ]
    },
    {
      "and": [
        "h_canUseMorphBombs",
        "h_canUseSpringBall"
      ]
    },
    {
      "and": [
        "h_canUseMorphBombs",
        "canTrivialMidAirMorph",
        "canDisableEquipment"
      ]
    }
  ]
}

Clears obstacles: A

Base (Basic)
Oasis
From: 5
Bottom Junction
To: 6
Junction Above Bomb Blocks

Requires:

"h_canNavigateUnderwater"
{
  "obstaclesCleared": [
    "A"
  ]
}
{
  "or": [
    "Gravity",
    "HiJump",
    "canSpringBallJumpMidAir"
  ]
}
From: 5
Bottom Junction
To: 6
Junction Above Bomb Blocks

To save Energy, spark diagonally towards the outer sides of the room after hitting the ceiling bomb block.

Requires:

{
  "useFlashSuit": {}
}
{
  "shinespark": {
    "frames": 6,
    "excessFrames": 6
  }
}

Clears obstacles: A

Base (Basic)
Oasis
From: 6
Junction Above Bomb Blocks
To: 4
Junction Below Top Door

Requires:

"Gravity"
Suitless (Medium)
Oasis
From: 6
Junction Above Bomb Blocks
To: 4
Junction Below Top Door

Requires:

"canSuitlessMaridia"
{
  "or": [
    {
      "and": [
        "HiJump",
        {
          "or": [
            "canDownGrab",
            "canSpringBallJumpMidAir",
            "canConsecutiveWalljump"
          ]
        }
      ]
    },
    "h_canMaxHeightSpringBallJump"
  ]
}
Base (Basic)
Oasis
From: 6
Junction Above Bomb Blocks
To: 5
Bottom Junction

Requires:

{
  "or": [
    "h_canBombThings",
    {
      "and": [
        "Gravity",
        "ScrewAttack"
      ]
    },
    {
      "obstaclesCleared": [
        "A"
      ]
    }
  ]
}

Clears obstacles: A

{
  "$schema": "../../../schema/m3-room.schema.json",
  "id": 198,
  "name": "Oasis",
  "area": "Maridia",
  "subarea": "Inner",
  "subsubarea": "Green",
  "playable": true,
  "roomAddress": "0x7D48E",
  "roomEnvironments": [
    {
      "heated": false
    }
  ],
  "nodes": [
    {
      "id": 1,
      "name": "Left Door",
      "nodeType": "door",
      "nodeSubType": "blue",
      "nodeAddress": "0x001a660",
      "doorOrientation": "left",
      "doorEnvironments": [
        {
          "physics": "water"
        }
      ]
    },
    {
      "id": 2,
      "name": "Right Door",
      "nodeType": "door",
      "nodeSubType": "blue",
      "nodeAddress": "0x001a66c",
      "doorOrientation": "right",
      "doorEnvironments": [
        {
          "physics": "water"
        }
      ]
    },
    {
      "id": 3,
      "name": "Top Door",
      "nodeType": "door",
      "nodeSubType": "green",
      "nodeAddress": "0x001a678",
      "doorOrientation": "up",
      "doorEnvironments": [
        {
          "physics": "water"
        }
      ],
      "spawnAt": 4
    },
    {
      "id": 4,
      "name": "Junction Below Top Door",
      "nodeType": "junction",
      "nodeSubType": "junction"
    },
    {
      "id": 5,
      "name": "Bottom Junction",
      "nodeType": "junction",
      "nodeSubType": "junction"
    },
    {
      "id": 6,
      "name": "Junction Above Bomb Blocks",
      "nodeType": "junction",
      "nodeSubType": "junction"
    }
  ],
  "obstacles": [
    {
      "id": "A",
      "name": "Bomb Blocks",
      "obstacleType": "inanimate"
    }
  ],
  "enemies": [],
  "links": [
    {
      "from": 1,
      "to": [
        {
          "id": 1
        },
        {
          "id": 2
        },
        {
          "id": 3
        },
        {
          "id": 4
        },
        {
          "id": 5
        },
        {
          "id": 6
        }
      ]
    },
    {
      "from": 2,
      "to": [
        {
          "id": 1
        },
        {
          "id": 2
        },
        {
          "id": 3
        },
        {
          "id": 4
        },
        {
          "id": 5
        },
        {
          "id": 6
        }
      ]
    },
    {
      "from": 3,
      "to": [
        {
          "id": 3
        },
        {
          "id": 4
        },
        {
          "id": 5
        }
      ]
    },
    {
      "from": 4,
      "to": [
        {
          "id": 3
        },
        {
          "id": 4
        },
        {
          "id": 6
        }
      ]
    },
    {
      "from": 5,
      "to": [
        {
          "id": 1
        },
        {
          "id": 2
        },
        {
          "id": 4,
          "note": "One-way link for shinesparks and cross room gravity jumps. Other strats should go 5 -> 6 -> 4."
        },
        {
          "id": 5
        },
        {
          "id": 6
        }
      ]
    },
    {
      "from": 6,
      "to": [
        {
          "id": 4
        },
        {
          "id": 5
        }
      ]
    }
  ],
  "strats": [
    {
      "id": 1,
      "link": [
        1,
        1
      ],
      "name": "Leave with Runway",
      "requires": [],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 13,
          "openEnd": 0
        }
      }
    },
    {
      "id": 2,
      "link": [
        1,
        1
      ],
      "name": "Leave with Runway, Open Both Doors",
      "requires": [
        {
          "doorUnlockedAtNode": 2
        }
      ],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 14,
          "openEnd": 0
        }
      },
      "unlocksDoors": [
        {
          "nodeId": 2,
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ]
    },
    {
      "id": 3,
      "link": [
        1,
        1
      ],
      "name": "Suitless Water Shinecharge, Shinespark Return",
      "entranceCondition": {
        "comeInRunning": {
          "speedBooster": true,
          "minTiles": 2.4375
        }
      },
      "requires": [
        "canStutterWaterShineCharge",
        "canShinechargeMovementComplex",
        "h_canShineChargeMaxRunway",
        {
          "or": [
            {
              "shinespark": {
                "frames": 9
              }
            },
            {
              "and": [
                "canShinechargeMovementTricky",
                {
                  "shinespark": {
                    "frames": 2
                  }
                }
              ]
            }
          ]
        }
      ],
      "exitCondition": {
        "leaveWithSpark": {}
      },
      "unlocksDoors": [
        {
          "types": [
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "missiles",
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ],
      "note": "Get the shinecharge then move towards and shinespark out the left door."
    },
    {
      "id": 4,
      "link": [
        1,
        1
      ],
      "name": "Cross Room Jump with Screw Attack (From the Left)",
      "entranceCondition": {
        "comeInJumping": {
          "speedBooster": "any",
          "minTiles": 4.4375
        }
      },
      "requires": [
        {
          "notable": "Cross Room Jump with Screw Attack"
        },
        "canTrickyJump",
        "canCrossRoomJumpIntoWater",
        "ScrewAttack"
      ],
      "clearsObstacles": [
        "A"
      ],
      "note": [
        "Use Screw Attack to break the bomb block by entering from a non-water room with a spin jump.",
        "It helps to enter as low as possible and with as much horizontal speed as possible and with HiJump turned off.",
        "Even if executed correctly, the trick can fail with 50% probability due to collision oscillation."
      ]
    },
    {
      "id": 5,
      "link": [
        1,
        1
      ],
      "name": "Cross Room Jump with Screw Attack and Speed (From the Left)",
      "entranceCondition": {
        "comeInJumping": {
          "speedBooster": true,
          "minTiles": 3
        }
      },
      "requires": [
        {
          "notable": "Cross Room Jump with Screw Attack"
        },
        "canTrickyJump",
        "canCrossRoomJumpIntoWater",
        "ScrewAttack"
      ],
      "clearsObstacles": [
        "A"
      ],
      "note": [
        "Use Screw Attack to break the bomb block by entering from a non-water room with a spin jump.",
        "It helps to enter as low as possible and with as much horizontal speed as possible and with HiJump turned off.",
        "Even if executed correctly, the trick can fail with 50% probability due to collision oscillation."
      ]
    },
    {
      "id": 6,
      "link": [
        1,
        1
      ],
      "name": "Temporary Blue (Come In With Temporary Blue)",
      "entranceCondition": {
        "comeInWithTemporaryBlue": {}
      },
      "requires": [
        "canChainTemporaryBlue"
      ],
      "clearsObstacles": [
        "A"
      ]
    },
    {
      "id": 7,
      "link": [
        1,
        1
      ],
      "name": "Blue Speed (Come In Getting Blue Speed)",
      "entranceCondition": {
        "comeInGettingBlueSpeed": {
          "length": 3,
          "openEnd": 1
        }
      },
      "requires": [],
      "clearsObstacles": [
        "A"
      ]
    },
    {
      "id": 8,
      "link": [
        1,
        1
      ],
      "name": "Blue Spring Ball Bounce",
      "entranceCondition": {
        "comeInWithBlueSpringBallBounce": {
          "movementType": "controlled"
        }
      },
      "requires": [],
      "clearsObstacles": [
        "A"
      ]
    },
    {
      "id": 9,
      "link": [
        1,
        1
      ],
      "name": "G-Mode Morph Bomb Blocks",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": true
        }
      },
      "requires": [
        {
          "or": [
            "h_canArtificialMorphPowerBomb",
            {
              "and": [
                "h_canArtificialMorphIBJ",
                "Gravity"
              ]
            },
            {
              "and": [
                "h_canArtificialMorphSpringBall",
                "h_canArtificialMorphBombs"
              ]
            }
          ]
        }
      ],
      "clearsObstacles": [
        "A"
      ],
      "flashSuitChecked": true
    },
    {
      "id": 10,
      "link": [
        1,
        2
      ],
      "name": "Leave Shinecharged",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 13,
          "openEnd": 0
        }
      },
      "requires": [
        "Gravity"
      ],
      "exitCondition": {
        "leaveShinecharged": {
          "framesRemaining": 179
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "missiles",
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ],
      "flashSuitChecked": true
    },
    {
      "id": 11,
      "link": [
        1,
        2
      ],
      "name": "Suitless Water Shinecharge",
      "entranceCondition": {
        "comeInRunning": {
          "speedBooster": true,
          "minTiles": 2
        }
      },
      "requires": [
        "canStutterWaterShineCharge",
        "h_canShineChargeMaxRunway"
      ],
      "exitCondition": {
        "leaveShinecharged": {
          "framesRemaining": 179
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "missiles",
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ],
      "flashSuitChecked": true,
      "devNote": "FIXME: This is a prime example for 3-room shinecharges, once the schema can model it."
    },
    {
      "id": 12,
      "link": [
        1,
        2
      ],
      "name": "Come In Shinecharged, Leave Sparking",
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 25
        }
      },
      "requires": [
        {
          "shinespark": {
            "frames": 23
          }
        }
      ],
      "exitCondition": {
        "leaveWithSpark": {}
      },
      "unlocksDoors": [
        {
          "types": [
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "missiles",
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ],
      "flashSuitChecked": true
    },
    {
      "id": 13,
      "link": [
        1,
        2
      ],
      "name": "Leave With Temporary Blue (Stutter Water Shinecharge)",
      "entranceCondition": {
        "comeInRunning": {
          "speedBooster": true,
          "minTiles": 2
        }
      },
      "requires": [
        "canStutterWaterShineCharge",
        "h_canShineChargeMaxRunway",
        "canChainTemporaryBlue"
      ],
      "exitCondition": {
        "leaveWithTemporaryBlue": {}
      },
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ],
      "flashSuitChecked": true
    },
    {
      "id": 14,
      "link": [
        1,
        2
      ],
      "name": "Transition with Stored Fall Speed",
      "entranceCondition": {
        "comeInWithStoredFallSpeed": {
          "fallSpeedInTiles": 1
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveWithStoredFallSpeed": {
          "fallSpeedInTiles": 1
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "missiles",
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ],
      "flashSuitChecked": true
    },
    {
      "id": 15,
      "link": [
        1,
        2
      ],
      "name": "Transition with Stored Fall Speed (more speed)",
      "entranceCondition": {
        "comeInWithStoredFallSpeed": {
          "fallSpeedInTiles": 2
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveWithStoredFallSpeed": {
          "fallSpeedInTiles": 2
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "missiles",
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ],
      "flashSuitChecked": true
    },
    {
      "id": 16,
      "link": [
        1,
        3
      ],
      "name": "Cross Room Jump with Screw Attack and Speed through the Top Door (From the Left)",
      "entranceCondition": {
        "comeInJumping": {
          "speedBooster": true,
          "minTiles": 13
        }
      },
      "requires": [
        {
          "notable": "Cross Room Jump with Screw Attack and Speed through the Top Door"
        },
        "canInsaneJump",
        "canCrossRoomJumpIntoWater",
        "ScrewAttack",
        "canMomentumConservingTurnaround"
      ],
      "exitCondition": {
        "leaveNormally": {}
      },
      "unlocksDoors": [
        {
          "types": [
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "missiles",
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ],
      "note": [
        "Use Screw Attack to break the bomb block by entering from a non-water room with a spin jump, and make it all the way through the top door.",
        "This uses exactly 14 tiles (with no open end) - more rises too fast to do the trick, less does not have the height needed to reach the door.",
        "Use angle to break spin, then a momentumConservingTurnaround as early as possible, right as you pass the above tile horizontally. Using the background for positioning may help.",
        "The second momentumConservingTurnaround is as late as possible, just before touching the above platform.",
        "A third momentumConservingTurnaround is used on the door as it is opening."
      ],
      "devNote": "This does not have collision oscillation. It is possible to do this without Screw Attack, but is extremely precise."
    },
    {
      "id": 17,
      "link": [
        1,
        4
      ],
      "name": "Diagonal Suitless Shinespark to the Top",
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 30
        }
      },
      "requires": [
        "h_canNavigateUnderwater",
        {
          "shinespark": {
            "frames": 23,
            "excessFrames": 10
          }
        }
      ],
      "flashSuitChecked": true,
      "note": "The spark takes Samus directly to the top platform.",
      "devNote": [
        "This does not require canWaterShineCharge, as you can store the shinecharge before entering the room.",
        "With Gravity 1 -> 6 -> 4 would be used."
      ]
    },
    {
      "id": 18,
      "link": [
        1,
        4
      ],
      "name": "Suitless Water Shinecharge, Diagonal Shinespark to the Top",
      "entranceCondition": {
        "comeInRunning": {
          "speedBooster": true,
          "minTiles": 2.4375
        }
      },
      "requires": [
        "canStutterWaterShineCharge",
        "h_canShineChargeMaxRunway",
        {
          "shinespark": {
            "frames": 23,
            "excessFrames": 10
          }
        }
      ],
      "note": "Spark diagonally through the bomb blocks."
    },
    {
      "id": 19,
      "link": [
        1,
        4
      ],
      "name": "Cross Room Jump with Screw Attack and Speed to the Top (From the Left)",
      "entranceCondition": {
        "comeInJumping": {
          "speedBooster": true,
          "minTiles": 12.4375
        }
      },
      "requires": [
        {
          "notable": "Cross Room Jump with Screw Attack"
        },
        "canInsaneJump",
        "canCrossRoomJumpIntoWater",
        "ScrewAttack",
        "canMomentumConservingTurnaround"
      ],
      "note": [
        "Use Screw Attack to break the bomb block by entering from a non-water room with a spin jump, and make it to the top.",
        "It helps to enter as low as possible and with as much horizontal speed as possible and with HiJump turned off."
      ],
      "devNote": [
        "This does not have collision oscillation",
        "FIXME: It is possible to use a flash suit to get from 4 through the top door, but either requires a diagonal spark,",
        "or using this strat to get onto the top platform, which is more than this strat expects."
      ]
    },
    {
      "id": 20,
      "link": [
        1,
        5
      ],
      "name": "Base",
      "requires": []
    },
    {
      "id": 21,
      "link": [
        1,
        6
      ],
      "name": "Oasis Left-Side X-Ray Climb",
      "entranceCondition": {
        "comeInWithDoorStuckSetup": {}
      },
      "requires": [
        "canXRayClimb"
      ],
      "flashSuitChecked": true,
      "note": "This is a short climb, only a few tiles."
    },
    {
      "id": 22,
      "link": [
        1,
        6
      ],
      "name": "Shinespark to Break the Blocks",
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 40
        }
      },
      "requires": [
        "h_canNavigateUnderwater",
        {
          "or": [
            {
              "shinespark": {
                "frames": 10,
                "excessFrames": 8
              }
            },
            {
              "and": [
                "canMidairShinespark",
                {
                  "shinespark": {
                    "frames": 7,
                    "excessFrames": 7
                  }
                }
              ]
            }
          ]
        }
      ],
      "clearsObstacles": [
        "A"
      ],
      "flashSuitChecked": true,
      "note": "Spark vertically through the bomb blocks. It is still possible to break the blocks while below 30 Energy by jumping before sparking.",
      "devNote": [
        "This does not require canWaterShineCharge, as you can store the shinecharge before entering the room.",
        "Note that it is possible to spark into the ceiling to break the blocks without energy loss, but it has collision oscillation.",
        "FIXME: Add temporary blue strats."
      ]
    },
    {
      "id": 23,
      "link": [
        1,
        6
      ],
      "name": "Suitless Water Shinecharge - Spark to Break the Blocks",
      "entranceCondition": {
        "comeInRunning": {
          "speedBooster": true,
          "minTiles": 2.4375
        }
      },
      "requires": [
        "canStutterWaterShineCharge",
        "h_canShineChargeMaxRunway",
        {
          "or": [
            {
              "shinespark": {
                "frames": 10,
                "excessFrames": 8
              }
            },
            {
              "and": [
                "canMidairShinespark",
                {
                  "shinespark": {
                    "frames": 7,
                    "excessFrames": 7
                  }
                }
              ]
            }
          ]
        }
      ],
      "clearsObstacles": [
        "A"
      ],
      "note": "Spark vertically through the bomb blocks. It is still possible to break the blocks while below 30 Energy by jumping before sparking.",
      "devNote": [
        "It is possible to save some energy by sparking into the left wall, but it won't work with midair sparking, which saves the same amount and is easier.",
        "Note that it is possible to spark into the ceiling to break the blocks without energy loss, but it has collision oscillation.",
        "FIXME: Add temporary blue strats."
      ]
    },
    {
      "id": 24,
      "link": [
        2,
        1
      ],
      "name": "Leave Shinecharged",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 13,
          "openEnd": 0
        }
      },
      "requires": [
        "Gravity"
      ],
      "exitCondition": {
        "leaveShinecharged": {
          "framesRemaining": 179
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "missiles",
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ],
      "flashSuitChecked": true
    },
    {
      "id": 25,
      "link": [
        2,
        1
      ],
      "name": "Suitless Water Shinecharge",
      "entranceCondition": {
        "comeInRunning": {
          "speedBooster": true,
          "minTiles": 2
        }
      },
      "requires": [
        "canStutterWaterShineCharge",
        "h_canShineChargeMaxRunway"
      ],
      "exitCondition": {
        "leaveShinecharged": {
          "framesRemaining": 179
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "missiles",
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ],
      "flashSuitChecked": true,
      "devNote": "FIXME: This is a prime example for 3-room shinecharges, once the schema can model it."
    },
    {
      "id": 26,
      "link": [
        2,
        1
      ],
      "name": "Come In Shinecharged, Leave Sparking",
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 25
        }
      },
      "requires": [
        {
          "shinespark": {
            "frames": 23
          }
        }
      ],
      "exitCondition": {
        "leaveWithSpark": {}
      },
      "unlocksDoors": [
        {
          "types": [
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "missiles",
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ],
      "flashSuitChecked": true
    },
    {
      "id": 27,
      "link": [
        2,
        1
      ],
      "name": "Leave With Temporary Blue (Stutter Water Shinecharge)",
      "entranceCondition": {
        "comeInRunning": {
          "speedBooster": true,
          "minTiles": 2
        }
      },
      "requires": [
        "canStutterWaterShineCharge",
        "h_canShineChargeMaxRunway",
        "canChainTemporaryBlue"
      ],
      "exitCondition": {
        "leaveWithTemporaryBlue": {}
      },
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ],
      "flashSuitChecked": true
    },
    {
      "id": 28,
      "link": [
        2,
        1
      ],
      "name": "Transition with Stored Fall Speed",
      "entranceCondition": {
        "comeInWithStoredFallSpeed": {
          "fallSpeedInTiles": 1
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveWithStoredFallSpeed": {
          "fallSpeedInTiles": 1
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "missiles",
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ],
      "flashSuitChecked": true
    },
    {
      "id": 29,
      "link": [
        2,
        1
      ],
      "name": "Transition with Stored Fall Speed (more speed)",
      "entranceCondition": {
        "comeInWithStoredFallSpeed": {
          "fallSpeedInTiles": 2
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveWithStoredFallSpeed": {
          "fallSpeedInTiles": 2
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "missiles",
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ],
      "flashSuitChecked": true
    },
    {
      "id": 30,
      "link": [
        2,
        2
      ],
      "name": "Leave with Runway",
      "requires": [],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 13,
          "openEnd": 0
        }
      }
    },
    {
      "id": 31,
      "link": [
        2,
        2
      ],
      "name": "Leave with Runway, Open Both Doors",
      "requires": [
        {
          "doorUnlockedAtNode": 1
        }
      ],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 14,
          "openEnd": 0
        }
      },
      "unlocksDoors": [
        {
          "nodeId": 1,
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ]
    },
    {
      "id": 32,
      "link": [
        2,
        2
      ],
      "name": "Suitless Water Shinecharge, Shinespark Return",
      "entranceCondition": {
        "comeInRunning": {
          "speedBooster": true,
          "minTiles": 2.4375
        }
      },
      "requires": [
        "canStutterWaterShineCharge",
        "canShinechargeMovementComplex",
        "h_canShineChargeMaxRunway",
        {
          "or": [
            {
              "shinespark": {
                "frames": 9
              }
            },
            {
              "and": [
                "canShinechargeMovementTricky",
                {
                  "shinespark": {
                    "frames": 2
                  }
                }
              ]
            }
          ]
        }
      ],
      "exitCondition": {
        "leaveWithSpark": {}
      },
      "unlocksDoors": [
        {
          "types": [
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "missiles",
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ],
      "note": "Get the shinecharge and move towards then shinespark out the right door."
    },
    {
      "id": 33,
      "link": [
        2,
        2
      ],
      "name": "Cross Room Jump with Screw Attack (From the Right)",
      "entranceCondition": {
        "comeInJumping": {
          "speedBooster": "any",
          "minTiles": 4
        }
      },
      "requires": [
        {
          "notable": "Cross Room Jump with Screw Attack"
        },
        "canTrickyJump",
        "canCrossRoomJumpIntoWater",
        "ScrewAttack"
      ],
      "clearsObstacles": [
        "A"
      ],
      "note": [
        "Use Screw Attack to break the bomb block by entering from a non-water room with a spin jump.",
        "It helps to enter as low as possible and with as much horizontal speed as possible and with HiJump turned off.",
        "Even if executed correctly, the trick can fail with 50% probability due to collision oscillation."
      ]
    },
    {
      "id": 34,
      "link": [
        2,
        2
      ],
      "name": "Cross Room Jump with Screw Attack and Speed (From the Right)",
      "entranceCondition": {
        "comeInJumping": {
          "speedBooster": true,
          "minTiles": 3
        }
      },
      "requires": [
        {
          "notable": "Cross Room Jump with Screw Attack"
        },
        "canTrickyJump",
        "canCrossRoomJumpIntoWater",
        "ScrewAttack"
      ],
      "clearsObstacles": [
        "A"
      ],
      "note": [
        "Use Screw Attack to break the bomb block by entering from a non-water room with a spin jump.",
        "It helps to enter as low as possible and with as much horizontal speed as possible and with HiJump turned off.",
        "Even if executed correctly, the trick can fail with 50% probability due to collision oscillation."
      ]
    },
    {
      "id": 35,
      "link": [
        2,
        2
      ],
      "name": "Temporary Blue (Come In With Temporary Blue)",
      "entranceCondition": {
        "comeInWithTemporaryBlue": {}
      },
      "requires": [
        "canChainTemporaryBlue"
      ],
      "clearsObstacles": [
        "A"
      ]
    },
    {
      "id": 36,
      "link": [
        2,
        2
      ],
      "name": "Blue Speed (Come In Getting Blue Speed)",
      "entranceCondition": {
        "comeInGettingBlueSpeed": {
          "length": 3,
          "openEnd": 1
        }
      },
      "requires": [],
      "clearsObstacles": [
        "A"
      ]
    },
    {
      "id": 37,
      "link": [
        2,
        2
      ],
      "name": "Blue Spring Ball Bounce",
      "entranceCondition": {
        "comeInWithBlueSpringBallBounce": {
          "movementType": "controlled"
        }
      },
      "requires": [],
      "clearsObstacles": [
        "A"
      ]
    },
    {
      "id": 38,
      "link": [
        2,
        2
      ],
      "name": "G-Mode Morph Bomb Blocks",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": true
        }
      },
      "requires": [
        {
          "or": [
            "h_canArtificialMorphPowerBomb",
            {
              "and": [
                "h_canArtificialMorphIBJ",
                "Gravity"
              ]
            },
            {
              "and": [
                "h_canArtificialMorphSpringBall",
                "h_canArtificialMorphBombs"
              ]
            }
          ]
        }
      ],
      "clearsObstacles": [
        "A"
      ],
      "flashSuitChecked": true
    },
    {
      "id": 39,
      "link": [
        2,
        3
      ],
      "name": "Cross Room Jump with Screw Attack and Speed through the Top Door (From the Right)",
      "entranceCondition": {
        "comeInJumping": {
          "speedBooster": true,
          "minTiles": 13
        }
      },
      "requires": [
        {
          "notable": "Cross Room Jump with Screw Attack and Speed through the Top Door"
        },
        "canInsaneJump",
        "canCrossRoomJumpIntoWater",
        "ScrewAttack",
        "canMomentumConservingTurnaround"
      ],
      "exitCondition": {
        "leaveNormally": {}
      },
      "unlocksDoors": [
        {
          "types": [
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "missiles",
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ],
      "note": [
        "Use Screw Attack to break the bomb block by entering from a non-water room with a spin jump, and make it all the way through the top door.",
        "This uses exactly 14 tiles (with no open end) - more rises too fast to do the trick, less does not have the height needed to reach the door.",
        "Use angle to break spin, then a momentumConservingTurnaround as early as possible, right as you pass the above tile horizontally. Using the background for positioning may help.",
        "The second momentumConservingTurnaround is as late as possible, just before touching the above platform.",
        "A third momentumConservingTurnaround is used on the door as it is opening."
      ],
      "devNote": "This does not have collision oscillation. It is possible to do this without Screw Attack, but is extremely precise."
    },
    {
      "id": 40,
      "link": [
        2,
        4
      ],
      "name": "Diagonal Suitless Shinespark to the Top",
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 30
        }
      },
      "requires": [
        "h_canNavigateUnderwater",
        {
          "shinespark": {
            "frames": 23,
            "excessFrames": 10
          }
        }
      ],
      "flashSuitChecked": true,
      "note": "The spark takes Samus directly to the top platform.",
      "devNote": [
        "This does not require canWaterShineCharge, as you can store the shinecharge before entering the room.",
        "With Gravity 2 -> 6 -> 4 would be used."
      ]
    },
    {
      "id": 41,
      "link": [
        2,
        4
      ],
      "name": "Suitless Water Shinecharge, Diagonal Shinespark to the Top",
      "entranceCondition": {
        "comeInRunning": {
          "speedBooster": true,
          "minTiles": 2.4375
        }
      },
      "requires": [
        "canStutterWaterShineCharge",
        "h_canShineChargeMaxRunway",
        {
          "shinespark": {
            "frames": 23,
            "excessFrames": 10
          }
        }
      ],
      "note": "Spark diagonally through the bomb blocks."
    },
    {
      "id": 42,
      "link": [
        2,
        4
      ],
      "name": "Cross Room Jump with Screw Attack and Speed to the Top (From the Right)",
      "entranceCondition": {
        "comeInJumping": {
          "speedBooster": true,
          "minTiles": 12.4375
        }
      },
      "requires": [
        {
          "notable": "Cross Room Jump with Screw Attack"
        },
        "canInsaneJump",
        "canCrossRoomJumpIntoWater",
        "ScrewAttack",
        "canMomentumConservingTurnaround"
      ],
      "note": [
        "Use Screw Attack to break the bomb block by entering from a non-water room with a spin jump, and make it to the top.",
        "It helps to enter as low as possible and with as much horizontal speed as possible and with HiJump turned off."
      ],
      "devNote": [
        "This does not have collision oscillation",
        "FIXME: It is possible to use a flash suit to get from 4 through the top door, but either requires a diagonal spark,",
        "or using this strat to get onto the top platform, which is more than this strat expects."
      ]
    },
    {
      "id": 43,
      "link": [
        2,
        4
      ],
      "name": "Grapple Teleport (from Moat)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              7,
              2
            ]
          ]
        }
      },
      "requires": [
        "canOffScreenMovement"
      ],
      "note": [
        "Immediately after teleporting, press down to retract Grapple to avoid getting stuck inside the wall (in case the top door is blue, causing it to open with Grapple on entry)."
      ]
    },
    {
      "id": 44,
      "link": [
        2,
        5
      ],
      "name": "Base",
      "requires": []
    },
    {
      "id": 45,
      "link": [
        2,
        6
      ],
      "name": "Oasis Right-Side X-Ray Climb",
      "entranceCondition": {
        "comeInWithDoorStuckSetup": {}
      },
      "requires": [
        "canXRayClimb"
      ],
      "flashSuitChecked": true,
      "note": "This is a short climb, only a few tiles."
    },
    {
      "id": 46,
      "link": [
        2,
        6
      ],
      "name": "Suitless Water Shinecharge - Spark to Break the Blocks",
      "entranceCondition": {
        "comeInRunning": {
          "speedBooster": true,
          "minTiles": 2.4375
        }
      },
      "requires": [
        "canStutterWaterShineCharge",
        "h_canShineChargeMaxRunway",
        {
          "or": [
            {
              "shinespark": {
                "frames": 10,
                "excessFrames": 8
              }
            },
            {
              "and": [
                "canMidairShinespark",
                {
                  "shinespark": {
                    "frames": 7,
                    "excessFrames": 7
                  }
                }
              ]
            }
          ]
        }
      ],
      "clearsObstacles": [
        "A"
      ],
      "note": "Spark vertically through the bomb blocks. It is still possible to break the blocks while below 30 Energy by jumping before sparking.",
      "devNote": [
        "It is possible to save some energy by sparking into the left wall, but it won't work with midair sparking, which saves the same amount and is easier.",
        "Note that it is possible to spark into the ceiling to break the blocks without energy loss, but it has collision oscillation.",
        "FIXME: Add temporary blue strats."
      ]
    },
    {
      "id": 47,
      "link": [
        2,
        6
      ],
      "name": "Spark to Break the Blocks",
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 40
        }
      },
      "requires": [
        "h_canNavigateUnderwater",
        {
          "or": [
            {
              "shinespark": {
                "frames": 10,
                "excessFrames": 8
              }
            },
            {
              "and": [
                "canMidairShinespark",
                {
                  "shinespark": {
                    "frames": 7,
                    "excessFrames": 7
                  }
                }
              ]
            }
          ]
        }
      ],
      "clearsObstacles": [
        "A"
      ],
      "flashSuitChecked": true,
      "note": "Spark vertically through the bomb blocks. It is still possible to break the blocks while below 30 Energy by jumping before sparking.",
      "devNote": [
        "This does not require canWaterShineCharge, as you can store the shinecharge before entering the room.",
        "Note that it is possible to spark into the ceiling to break the blocks without energy loss, but it has collision oscillation.",
        "FIXME: Add temporary blue strats."
      ]
    },
    {
      "id": 48,
      "link": [
        3,
        3
      ],
      "name": "Carry G-Mode Back Up",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "direct",
          "morphed": false
        },
        "comesThroughToilet": "any"
      },
      "requires": [
        {
          "or": [
            "Gravity",
            "HiJump",
            "canSpringBallJumpMidAir"
          ]
        }
      ],
      "exitCondition": {
        "leaveWithGMode": {
          "morphed": false
        }
      },
      "bypassesDoorShell": true,
      "flashSuitChecked": true
    },
    {
      "id": 49,
      "link": [
        3,
        3
      ],
      "name": "Carry G-Mode Morph Back Up",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "direct",
          "morphed": true
        },
        "comesThroughToilet": "any"
      },
      "requires": [
        {
          "or": [
            {
              "and": [
                "Gravity",
                "h_canArtificialMorphIBJ"
              ]
            },
            {
              "and": [
                "Gravity",
                "h_canArtificialMorphSpringBall"
              ]
            },
            {
              "and": [
                "HiJump",
                "h_canArtificialMorphSpringBall"
              ]
            }
          ]
        }
      ],
      "exitCondition": {
        "leaveWithGMode": {
          "morphed": true
        }
      },
      "bypassesDoorShell": true,
      "flashSuitChecked": true
    },
    {
      "id": 50,
      "link": [
        3,
        4
      ],
      "name": "Base",
      "requires": []
    },
    {
      "id": 51,
      "link": [
        3,
        5
      ],
      "name": "Temporary Blue",
      "entranceCondition": {
        "comeInWithTemporaryBlue": {
          "direction": "any"
        },
        "comesThroughToilet": "any"
      },
      "requires": [
        "canChainTemporaryBlue",
        "canXRayTurnaround"
      ],
      "clearsObstacles": [
        "A"
      ]
    },
    {
      "id": 52,
      "link": [
        3,
        5
      ],
      "name": "G-Mode Morph Bomb Blocks",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": true
        },
        "comesThroughToilet": "any"
      },
      "requires": [
        "h_canArtificialMorphBombThings"
      ],
      "clearsObstacles": [
        "A"
      ],
      "flashSuitChecked": true
    },
    {
      "id": 53,
      "link": [
        4,
        3
      ],
      "name": "Base",
      "requires": [
        "Gravity"
      ]
    },
    {
      "id": 54,
      "link": [
        4,
        3
      ],
      "name": "Suitless",
      "requires": [
        {
          "or": [
            "HiJump",
            "canSpringBallJumpMidAir"
          ]
        }
      ],
      "devNote": [
        "This isn't requiring canSuitlessMaridia because it reduces the likelihood of entering from the top being a logical softlock.",
        "Also it's not very elaborate suitless execution"
      ]
    },
    {
      "id": 55,
      "link": [
        4,
        4
      ],
      "name": "Crystal Flash",
      "requires": [
        "h_canCrystalFlash"
      ],
      "flashSuitChecked": true
    },
    {
      "id": 56,
      "link": [
        4,
        6
      ],
      "name": "Base",
      "requires": []
    },
    {
      "id": 57,
      "link": [
        5,
        1
      ],
      "name": "Base",
      "requires": []
    },
    {
      "id": 58,
      "link": [
        5,
        2
      ],
      "name": "Base",
      "requires": []
    },
    {
      "id": 59,
      "link": [
        5,
        5
      ],
      "name": "Crystal Flash",
      "requires": [
        "h_canCrystalFlash"
      ],
      "flashSuitChecked": true
    },
    {
      "id": 60,
      "link": [
        5,
        5
      ],
      "name": "Base",
      "requires": [
        "h_canNavigateUnderwater",
        {
          "or": [
            "h_canUsePowerBombs",
            {
              "and": [
                "Gravity",
                "ScrewAttack"
              ]
            },
            {
              "and": [
                "Gravity",
                "canIBJ"
              ]
            },
            {
              "and": [
                "h_canUseMorphBombs",
                "h_canUseSpringBall"
              ]
            },
            {
              "and": [
                "h_canUseMorphBombs",
                "canTrivialMidAirMorph",
                "canDisableEquipment"
              ]
            }
          ]
        }
      ],
      "clearsObstacles": [
        "A"
      ]
    },
    {
      "id": 61,
      "link": [
        5,
        6
      ],
      "name": "Base",
      "requires": [
        "h_canNavigateUnderwater",
        {
          "obstaclesCleared": [
            "A"
          ]
        },
        {
          "or": [
            "Gravity",
            "HiJump",
            "canSpringBallJumpMidAir"
          ]
        }
      ]
    },
    {
      "id": 65,
      "link": [
        5,
        6
      ],
      "name": "Use Flash Suit",
      "requires": [
        {
          "useFlashSuit": {}
        },
        {
          "shinespark": {
            "frames": 6,
            "excessFrames": 6
          }
        }
      ],
      "clearsObstacles": [
        "A"
      ],
      "note": "To save Energy, spark diagonally towards the outer sides of the room after hitting the ceiling bomb block.",
      "devNote": [
        "Note that it is possible to spark into the ceiling to break the blocks without energy loss, but it has collision oscillation.",
        "With low Energy, this may not make it to 6, however the requirements to get to 6 are less than getting to the top of the room."
      ]
    },
    {
      "id": 62,
      "link": [
        6,
        4
      ],
      "name": "Base",
      "requires": [
        "Gravity"
      ]
    },
    {
      "id": 63,
      "link": [
        6,
        4
      ],
      "name": "Suitless",
      "requires": [
        "canSuitlessMaridia",
        {
          "or": [
            {
              "and": [
                "HiJump",
                {
                  "or": [
                    "canDownGrab",
                    "canSpringBallJumpMidAir",
                    "canConsecutiveWalljump"
                  ]
                }
              ]
            },
            "h_canMaxHeightSpringBallJump"
          ]
        }
      ]
    },
    {
      "id": 64,
      "link": [
        6,
        5
      ],
      "name": "Base",
      "requires": [
        {
          "or": [
            "h_canBombThings",
            {
              "and": [
                "Gravity",
                "ScrewAttack"
              ]
            },
            {
              "obstaclesCleared": [
                "A"
              ]
            }
          ]
        }
      ],
      "clearsObstacles": [
        "A"
      ]
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Base (Unlock Door)",
      "requires": [],
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ]
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Base (Come In Normally)",
      "entranceCondition": {
        "comeInNormally": {}
      },
      "requires": []
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Base (Unlock Door)",
      "requires": [],
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ]
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Base (Come In Normally)",
      "entranceCondition": {
        "comeInNormally": {}
      },
      "requires": []
    },
    {
      "link": [
        3,
        3
      ],
      "name": "Base (Unlock Door)",
      "requires": [],
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ]
    },
    {
      "link": [
        3,
        4
      ],
      "name": "Base (Come In Normally)",
      "entranceCondition": {
        "comeInNormally": {}
      },
      "requires": []
    }
  ],
  "nextStratId": 66,
  "notables": [
    {
      "id": 1,
      "name": "Cross Room Jump with Screw Attack",
      "note": [
        "Use Screw Attack to break the bomb block by entering from a non-water room with a spin jump.",
        "It helps to enter as low as possible and with as much horizontal speed as possible and with HiJump turned off.",
        "Depending on the setup, this may have collision oscillation, making only a 50% success when done correctly."
      ]
    },
    {
      "id": 2,
      "name": "Cross Room Jump with Screw Attack and Speed through the Top Door",
      "note": [
        "Use Screw Attack to break the bomb block by entering from a non-water room with a spin jump, and make it all the way through the top door.",
        "This uses exactly 14 tiles (with no open end) - more rises too fast to do the trick, less does not have the height needed to reach the door.",
        "Use angle to break spin, then a momentumConservingTurnaround as early as possible, right as you pass the above tile horizontally. Using the background for positioning may help.",
        "The second momentumConservingTurnaround is as late as possible, just before touching the above platform.",
        "A third momentumConservingTurnaround is used on the door as it is opening."
      ]
    }
  ],
  "nextNotableId": 3
}