Morph Ball Room

Room ID: 38

Wiki
Difficulty filter

From: 1
Left Door
To: 1
Left Door

Requires:

{
  "obstaclesCleared": [
    "C"
  ]
}

Exit condition:

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

Entrance condition:

{
  "comeInNormally": {}
}

Requires:

{
  "enemyDamage": {
    "enemy": "Sidehopper",
    "type": "contact",
    "hits": 1
  }
}
From: 1
Left Door
To: 1
Left Door

Entrance condition:

{
  "comeInNormally": {}
}

Requires:

"h_ZebesNotAwake"

Clears obstacles: C

From: 1
Left Door
To: 1
Left Door

Requires:

{
  "obstaclesCleared": [
    "C"
  ]
}
"canShinechargeMovement"
{
  "canShineCharge": {
    "usedTiles": 25,
    "openEnd": 0
  }
}
{
  "shineChargeFrames": 45
}

Exit condition:

{
  "leaveShinecharged": {}
}
From: 1
Left Door
To: 1
Left Door

Requires:

{
  "obstaclesCleared": [
    "C"
  ]
}

Exit condition:

{
  "leaveSpinning": {
    "remoteRunway": {
      "length": 23,
      "openEnd": 0
    },
    "minExtraRunSpeed": "$2.7"
  }
}
From: 1
Left Door
To: 1
Left Door

Requires:

{
  "obstaclesCleared": [
    "C"
  ]
}

Exit condition:

{
  "leaveWithMockball": {
    "remoteRunway": {
      "length": 23,
      "openEnd": 0
    },
    "landingRunway": {
      "length": 4,
      "openEnd": 1
    }
  }
}
From: 1
Left Door
To: 1
Left Door

Requires:

{
  "obstaclesCleared": [
    "C"
  ]
}

Exit condition:

{
  "leaveWithSpringBallBounce": {
    "remoteRunway": {
      "length": 18,
      "openEnd": 0
    },
    "landingRunway": {
      "length": 4,
      "openEnd": 1
    },
    "movementType": "uncontrolled"
  }
}
From: 1
Left Door
To: 1
Left Door

Requires:

{
  "obstaclesCleared": [
    "C"
  ]
}

Exit condition:

{
  "leaveSpaceJumping": {
    "remoteRunway": {
      "length": 17,
      "openEnd": 1
    }
  }
}
From: 1
Left Door
To: 1
Left Door

Requires:

{
  "obstaclesCleared": [
    "C"
  ]
}
{
  "canShineCharge": {
    "usedTiles": 24,
    "openEnd": 0
  }
}
"canChainTemporaryBlue"

Exit condition:

{
  "leaveWithTemporaryBlue": {}
}
From: 1
Left Door
To: 1
Left Door

Requires:

{
  "obstaclesCleared": [
    "C"
  ]
}
"h_canCrystalFlash"
From: 1
Left Door
To: 1
Left Door

Requires:

{
  "enemyDamage": {
    "enemy": "Sidehopper",
    "type": "contact",
    "hits": 5
  }
}

Clears obstacles: C

From: 1
Left Door
To: 1
Left Door

For the Power Bomb and Screw Attack kills, this strat assumes you don't know you're entering the room beforehand. If you know, it's possible to Power Bomb kill the first two Sidehoppers damage-free by morphing before entering. For Screw, just entering with a spin jump would work.

Requires:

{
  "enemyKill": {
    "enemies": [
      [
        "Sidehopper",
        "Sidehopper"
      ],
      [
        "Sidehopper"
      ]
    ],
    "explicitWeapons": [
      "Missile",
      "Super",
      "PowerBomb",
      "ScrewAttack",
      "Plasma"
    ]
  }
}

Clears obstacles: C

From: 1
Left Door
To: 1
Left Door

Entrance condition:

{
  "comeInWithSpark": {}
}

Requires:

{
  "shinespark": {
    "frames": 40,
    "excessFrames": 9
  }
}

Clears obstacles: C

From: 1
Left Door
To: 1
Left Door

Enter the room ready to kill the hoppers before they can hit Samus. Enter with a Charged Plasma shot ready, in a Screw Attack spin jump, or prepated to rapidly kill the hopper with Plasma and another beam.

Entrance condition:

{
  "comeInNormally": {}
}

Requires:

"canPrepareForNextRoom"
{
  "or": [
    {
      "and": [
        "Plasma",
        "Charge"
      ]
    },
    {
      "and": [
        "Plasma",
        "canTrickyDodgeEnemies",
        {
          "or": [
            "Ice",
            "Wave"
          ]
        }
      ]
    },
    "ScrewAttack"
  ]
}

Clears obstacles: C

From: 1
Left Door
To: 1
Left Door

Roll into the room, fall off the step and roll into the corner. Either use a Power Bomb on entry, or unmorph at the bottom of the step and quickly kill the hoppers with Plasma.

Entrance condition:

{
  "comeInNormally": {}
}

Requires:

"canPrepareForNextRoom"
"Morph"
"canTrickyJump"
{
  "or": [
    "Plasma",
    {
      "and": [
        "h_canUsePowerBombs",
        {
          "or": [
            "canTrickyDodgeEnemies",
            {
              "enemyKill": {
                "enemies": [
                  [
                    "Sidehopper"
                  ]
                ],
                "explicitWeapons": [
                  "Missile",
                  "Super",
                  "PowerBomb"
                ]
              }
            }
          ]
        }
      ]
    }
  ]
}

Clears obstacles: C

From: 1
Left Door
To: 1
Left Door

Enter the room and immediately shoot a Missile and a Super to kill the first hopper. Quickly kill the second the same way or safely kill it with morph.

Entrance condition:

{
  "comeInNormally": {}
}

Requires:

"canPrepareForNextRoom"
"canTrickyDodgeEnemies"
{
  "ammo": {
    "type": "Missile",
    "count": 1
  }
}
{
  "ammo": {
    "type": "Super",
    "count": 1
  }
}
{
  "or": [
    "Morph",
    {
      "and": [
        {
          "ammo": {
            "type": "Missile",
            "count": 1
          }
        },
        {
          "ammo": {
            "type": "Super",
            "count": 1
          }
        }
      ]
    }
  ]
}

Clears obstacles: C

From: 1
Left Door
To: 1
Left Door

Enter the room and immediately shoot a Missile and a Super to kill the first hopper.

Entrance condition:

{
  "comeInNormally": {}
}

Requires:

"canPrepareForNextRoom"
"canTrickyDodgeEnemies"
{
  "ammo": {
    "type": "Missile",
    "count": 1
  }
}
{
  "ammo": {
    "type": "Super",
    "count": 1
  }
}
From: 1
Left Door
To: 1
Left Door

Entrance condition:

{
  "comeInNormally": {}
}

Requires:

"h_pauseAbuseMinimalReserveRefill"
From: 1
Left Door
To: 1
Left Door

Entrance condition:

{
  "comeInNormally": {}
}

Requires:

"h_pauseAbuseMinimalReserveRefill"
{
  "or": [
    "Plasma",
    {
      "enemyKill": {
        "enemies": [
          [
            "Sidehopper",
            "Sidehopper",
            "Sidehopper"
          ]
        ],
        "explicitWeapons": [
          "Missile",
          "Super"
        ]
      }
    }
  ]
}

Clears obstacles: C

From: 1
Left Door
To: 1
Left Door

Pseudo Screw the first ground hopper and focus fire on it until it dies while taking 2-3 hits. Kill the ceiling hopper while on the ground, crouched near the stair for some safety, or with Morph without risk. The third hopper can be killed with another Pseudo Screw with pause abuse, a Morph dodge, or a dodge by jumping over it while it lunges towards Samus.

Entrance condition:

{
  "comeInNormally": {}
}

Requires:

"canPseudoScrew"
"h_pauseAbuseMinimalReserveRefill"
"h_pauseAbuseMinimalReserveRefill"
"h_pauseAbuseMinimalReserveRefill"
{
  "or": [
    "h_pauseAbuseMinimalReserveRefill",
    "Morph"
  ]
}
{
  "or": [
    "h_pauseAbuseMinimalReserveRefill",
    "canTrickyDodgeEnemies"
  ]
}

Clears obstacles: C

From: 1
Left Door
To: 1
Left Door

Tank a hit or use a pause abuse with a reserve refill.

Entrance condition:

{
  "comeInWithMockball": {
    "speedBooster": "any",
    "adjacentMinTiles": 0,
    "remoteAndLandingMinTiles": [
      [
        0,
        0
      ]
    ]
  }
}

Requires:

{
  "or": [
    {
      "enemyDamage": {
        "enemy": "Sidehopper",
        "type": "contact",
        "hits": 1
      }
    },
    "h_pauseAbuseMinimalReserveRefill"
  ]
}
From: 1
Left Door
To: 1
Left Door

Unmorph and quickly kill the hoppers on entry.

Entrance condition:

{
  "comeInWithMockball": {
    "speedBooster": "any",
    "adjacentMinTiles": 0,
    "remoteAndLandingMinTiles": [
      [
        0,
        0
      ]
    ]
  }
}

Requires:

"canPrepareForNextRoom"
{
  "or": [
    "Plasma",
    "ScrewAttack",
    {
      "and": [
        "h_canUsePowerBombs",
        {
          "enemyKill": {
            "enemies": [
              [
                "Sidehopper"
              ]
            ],
            "explicitWeapons": [
              "Missile",
              "Super",
              "PowerBomb"
            ]
          }
        }
      ]
    }
  ]
}
From: 1
Left Door
To: 1
Left Door

Requires:

"h_ZebesIsAwake"

Exit condition:

{
  "leaveWithGModeSetup": {}
}
From: 1
Left Door
To: 1
Left Door

Requires:

{
  "enemyDamage": {
    "enemy": "Sidehopper",
    "type": "contact",
    "hits": 1
  }
}
"h_ZebesIsAwake"
From: 1
Left Door
To: 1
Left Door

Spark diagonally immediately on entry to kill the first two sidehoppers, then carefully kill the third.

Entrance condition:

{
  "comeInShinecharged": {}
}

Requires:

{
  "shineChargeFrames": 5
}
"canPrepareForNextRoom"
"canTrickyJump"
"canDodgeWhileShooting"
{
  "shinespark": {
    "frames": 5,
    "excessFrames": 1
  }
}
{
  "enemyKill": {
    "enemies": [
      [
        "Sidehopper"
      ]
    ],
    "explicitWeapons": [
      "Missile",
      "Super",
      "PowerBomb",
      "Plasma",
      "Spazer",
      "Wave",
      "Bombs"
    ]
  }
}

Clears obstacles: C

From: 1
Left Door
To: 1
Left Door

Spark diagonally immediately on entry to kill the first two sidehoppers, then carefully kill the third.

Requires:

"canDodgeWhileShooting"
"canUseSpeedEchoes"
{
  "useFlashSuit": {}
}
{
  "shinespark": {
    "frames": 5,
    "excessFrames": 1
  }
}
{
  "enemyKill": {
    "enemies": [
      [
        "Sidehopper"
      ]
    ],
    "explicitWeapons": [
      "Missile",
      "Super",
      "PowerBomb",
      "Plasma",
      "Spazer",
      "Wave"
    ]
  }
}

Clears obstacles: C

From: 1
Left Door
To: 1
Left Door

This strat assumes you don't know you're entering the room beforehand. Otherwise, it's possible to kill the first two Sidehoppers without taking damage. It's possible to break the bomb blocks alongside the third Sidehopper without taking an additional hit with a mockball.

Requires:

{
  "or": [
    "canMockball",
    {
      "enemyDamage": {
        "enemy": "Sidehopper",
        "type": "contact",
        "hits": 1
      }
    }
  ]
}
{
  "enemyKill": {
    "enemies": [
      [
        "Sidehopper",
        "Sidehopper"
      ],
      [
        "Sidehopper"
      ]
    ],
    "explicitWeapons": [
      "PowerBomb"
    ]
  }
}

Clears obstacles: A, C

From: 1
Left Door
To: 1
Left Door

Requires:

{
  "enemyDamage": {
    "enemy": "Sidehopper",
    "type": "contact",
    "hits": 2
  }
}
{
  "or": [
    "Spazer",
    "Wave"
  ]
}

Clears obstacles: C

From: 1
Left Door
To: 1
Left Door

Requires:

"h_pauseAbuseMinimalReserveRefill"
{
  "or": [
    "Spazer",
    "Wave"
  ]
}
{
  "or": [
    "h_pauseAbuseMinimalReserveRefill",
    {
      "and": [
        "Morph",
        "canTrickyJump"
      ]
    }
  ]
}

Clears obstacles: C

From: 1
Left Door
To: 1
Left Door

Requires:

"Morph"
"canTrickyDodgeEnemies"
"h_pauseAbuseMinimalReserveRefill"
"h_pauseAbuseMinimalReserveRefill"
{
  "or": [
    "Ice",
    {
      "and": [
        "h_pauseAbuseMinimalReserveRefill",
        "h_pauseAbuseMinimalReserveRefill"
      ]
    }
  ]
}

Clears obstacles: C

From: 1
Left Door
To: 1
Left Door

To save a hit, jump over the third Sidehopper as it lunges towards Samus.

Requires:

"h_pauseAbuseMinimalReserveRefill"
"h_pauseAbuseMinimalReserveRefill"
"h_pauseAbuseMinimalReserveRefill"
{
  "or": [
    "Ice",
    {
      "and": [
        "h_pauseAbuseMinimalReserveRefill",
        "h_pauseAbuseMinimalReserveRefill",
        "h_pauseAbuseMinimalReserveRefill"
      ]
    }
  ]
}
{
  "or": [
    "canTrickyDodgeEnemies",
    "h_pauseAbuseMinimalReserveRefill"
  ]
}

Clears obstacles: C

From: 1
Left Door
To: 1
Left Door

Requires:

"h_ZebesNotAwake"

Clears obstacles: C

From: 1
Left Door
To: 5
Left Item

Requires:

"Morph"
{
  "obstaclesCleared": [
    "A",
    "C"
  ]
}
From: 1
Left Door
To: 5
Left Item

Requires:

"h_canBombThings"
{
  "obstaclesCleared": [
    "C"
  ]
}

Clears obstacles: A

From: 1
Left Door
To: 5
Left Item

Entrance condition:

{
  "comeInNormally": {}
}

Requires:

{
  "enemyDamage": {
    "enemy": "Sidehopper",
    "type": "contact",
    "hits": 2
  }
}
{
  "or": [
    "canTrickyJump",
    {
      "enemyDamage": {
        "enemy": "Sidehopper",
        "type": "contact",
        "hits": 1
      }
    }
  ]
}
"h_canBombThings"
From: 1
Left Door
To: 5
Left Item

It's a short charge into a speedball to break the bomb blocks. The Sidehoppers need to be destroyed beforehand to clear the running space.

Requires:

{
  "obstaclesCleared": [
    "C"
  ]
}
{
  "speedBall": {
    "length": 25,
    "openEnd": 0
  }
}

Clears obstacles: A

From: 1
Left Door
To: 5
Left Item

Entrance condition:

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

Requires:

"canSpeedball"

Clears obstacles: A

From: 1
Left Door
To: 5
Left Item

Roll into the room, fall off the step and roll into the corner. Roll to the right immediately as the floor hopper is going to take its second jump to get it off camera. Once it is off camera, stop and wait for the next hopper to jump towards Samus, then roll under it as it jumps again.

Entrance condition:

{
  "comeInNormally": {}
}

Requires:

"canPrepareForNextRoom"
"canTrickyDodgeEnemies"
"canCameraManip"
"h_canBombThings"

Clears obstacles: A

From: 1
Left Door
To: 5
Left Item

Roll into the room, fall off the step and roll into the corner. Roll to the right immediately as the floor hopper is going to take its second jump to get it off camera. Once it is off camera, stop and wait for the next hopper to jump towards Samus, then roll under it as it jumps again.

Entrance condition:

{
  "comeInWithMockball": {
    "speedBooster": "any",
    "adjacentMinTiles": 0,
    "remoteAndLandingMinTiles": [
      [
        0,
        0
      ]
    ]
  }
}

Requires:

"canPrepareForNextRoom"
"canTrickyDodgeEnemies"
"canCameraManip"
"h_canBombThings"

Clears obstacles: A

From: 1
Left Door
To: 5
Left Item

Overload the PLMs by rolling through the camera scroll blocks which are 4 tiles to the right of the stair by the door.

Entrance condition:

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

Requires:

"h_ZebesNotAwake"

Clears obstacles: D

From: 1
Left Door
To: 5
Left Item

Either kill the Sidehoppers immediately on entry by placing a Power Bomb while rolling off the stair or tank their hits. If Samus has Morph Ball, it is also possible to kill the Sidehoppers upon room entry with Screw Attack or a powerful beam. Overload the PLMs by rolling through the camera scroll blocks which are 4 tiles to the right of the stair by the door. Roll under the last Sidehopper and through the bomb blocks.

Entrance condition:

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

Requires:

{
  "or": [
    {
      "enemyDamage": {
        "enemy": "Sidehopper",
        "type": "contact",
        "hits": 2
      }
    },
    {
      "ammo": {
        "type": "PowerBomb",
        "count": 1
      }
    },
    {
      "and": [
        "Morph",
        {
          "or": [
            {
              "and": [
                "Plasma",
                "Charge"
              ]
            },
            "ScrewAttack"
          ]
        }
      ]
    }
  ]
}

Clears obstacles: D

From: 1
Left Door
To: 5
Left Item

Tank the Sidehopper hits or kill them after a single hit by quickly placing a Power Bomb. It is also possible to kill the Sidehoppers with a very fast Screw Attack, if Samus has Morph Ball. Overload the PLMs by rolling through the camera scroll blocks which are 4 tiles to the right of the stair by the door. Roll under the last Sidehopper and through the bomb blocks.

Entrance condition:

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

Requires:

{
  "or": [
    {
      "enemyDamage": {
        "enemy": "Sidehopper",
        "type": "contact",
        "hits": 3
      }
    },
    {
      "and": [
        {
          "enemyDamage": {
            "enemy": "Sidehopper",
            "type": "contact",
            "hits": 1
          }
        },
        {
          "ammo": {
            "type": "PowerBomb",
            "count": 1
          }
        }
      ]
    },
    {
      "and": [
        "Morph",
        "ScrewAttack",
        "canTrickyJump"
      ]
    }
  ]
}

Clears obstacles: D

From: 2
Elevator
To: 2
Elevator

Requires:

{
  "canShineCharge": {
    "usedTiles": 30,
    "openEnd": 0
  }
}
"canShinechargeMovement"
{
  "shineChargeFrames": 50
}

Exit condition:

{
  "leaveShinecharged": {}
}
From: 2
Elevator
To: 2
Elevator

Entrance condition:

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

Exit condition:

{
  "leaveWithGMode": {
    "morphed": false
  }
}
From: 2
Elevator
To: 3
Right Door

From: 2
Elevator
To: 4
Right Item

From: 3
Right Door
To: 1
Left Door

Entrance condition:

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

Bypasses door shell: true

From: 3
Right Door
To: 1
Left Door

Entrance condition:

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

Exit condition:

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

Bypasses door shell: true

From: 3
Right Door
To: 2
Elevator

From: 3
Right Door
To: 2
Elevator

Entrance condition:

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

Exit condition:

{
  "leaveWithGMode": {
    "morphed": false
  }
}
From: 3
Right Door
To: 3
Right Door

Exit condition:

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

Requires:

{
  "canShineCharge": {
    "usedTiles": 30,
    "openEnd": 0
  }
}
"canShinechargeMovement"
{
  "shineChargeFrames": 50
}

Exit condition:

{
  "leaveShinecharged": {}
}
From: 3
Right Door
To: 3
Right Door

Exit condition:

{
  "leaveSpinning": {
    "remoteRunway": {
      "length": 26,
      "openEnd": 1
    },
    "minExtraRunSpeed": "$2.4"
  }
}
From: 3
Right Door
To: 3
Right Door

Exit condition:

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

Exit condition:

{
  "leaveWithSpringBallBounce": {
    "remoteRunway": {
      "length": 23,
      "openEnd": 0
    },
    "landingRunway": {
      "length": 5,
      "openEnd": 1
    },
    "movementType": "uncontrolled"
  }
}
From: 3
Right Door
To: 3
Right Door

Exit condition:

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

Requires:

{
  "canShineCharge": {
    "usedTiles": 29,
    "openEnd": 0
  }
}
"canChainTemporaryBlue"

Exit condition:

{
  "leaveWithTemporaryBlue": {}
}
From: 3
Right Door
To: 5
Left Item

Place the Power Bomb, then exit g-mode before the bomb goes off.

Entrance condition:

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

Requires:

"h_canArtificialMorphPowerBomb"
"h_canArtificialMorphMovement"

Clears obstacles: B

From: 4
Right Item
To: 2
Elevator

Requires:

{
  "or": [
    "canWalljump",
    "Morph",
    "SpaceJump",
    "HiJump"
  ]
}
From: 4
Right Item
To: 2
Elevator

Requires:

{
  "or": [
    "canCarefulJump",
    "i_canEscapeMorphLocation"
  ]
}
From: 4
Right Item
To: 2
Elevator

Requires:

"h_canCrouchJumpDownGrab"
From: 4
Right Item
To: 4
Right Item

Requires:

"h_canCrystalFlash"

Clears obstacles: B

From: 4
Right Item
To: 5
Left Item

Requires:

{
  "or": [
    "h_canUsePowerBombs",
    {
      "obstaclesCleared": [
        "B"
      ]
    }
  ]
}

Clears obstacles: B

From: 5
Left Item
To: 1
Left Door

Kill the ground hoppers by shooting through the morph tunnel, then roll through to the left door.

Requires:

"Morph"
{
  "obstaclesCleared": [
    "A"
  ]
}
From: 5
Left Item
To: 1
Left Door

It's a short charge into a speedball to break the Bomb Blocks. The Power Bomb Blocks need to be destroyed to have enough running room. The sidehoppers that remain can be killed safely using the morph tunnel.

Requires:

{
  "obstaclesCleared": [
    "B"
  ]
}
{
  "getBlueSpeed": {
    "usedTiles": 21,
    "openEnd": 1
  }
}
"canSpeedball"

Clears obstacles: A, C

From: 5
Left Item
To: 1
Left Door

The SideHoppers can be killed safely from behind with Power Beam.

Requires:

"Morph"
{
  "or": [
    "Wave",
    "canDodgeWhileShooting",
    "h_canUsePowerBombs",
    "ScrewAttack"
  ]
}
{
  "obstaclesCleared": [
    "A"
  ]
}

Clears obstacles: C

From: 5
Left Item
To: 4
Right Item

Requires:

{
  "or": [
    "h_canUsePowerBombs",
    {
      "obstaclesCleared": [
        "B"
      ]
    }
  ]
}

Clears obstacles: B

From: 5
Left Item
To: 5
Left Item

Requires:

"h_canBombThings"

Clears obstacles: A

Place the Power Bomb, then exit g-mode before the bomb goes off.

Requires:

{
  "obstaclesCleared": [
    "D"
  ]
}
"h_canArtificialMorphPowerBomb"
{
  "or": [
    "h_canArtificialMorphSpringBall",
    "h_canArtificialMorphPowerBomb",
    "h_canArtificialMorphBombs"
  ]
}

Clears obstacles: B

{
  "$schema": "../../../schema/m3-room.schema.json",
  "id": 38,
  "name": "Morph Ball Room",
  "area": "Brinstar",
  "subarea": "Blue",
  "roomAddress": "0x79E9F",
  "roomEnvironments": [
    {
      "heated": false
    }
  ],
  "mapTileMask": [
    [
      0,
      0,
      0,
      0,
      0,
      1,
      0,
      0
    ],
    [
      0,
      0,
      0,
      0,
      0,
      1,
      0,
      0
    ],
    [
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1
    ]
  ],
  "nodes": [
    {
      "id": 1,
      "name": "Left Door",
      "nodeType": "door",
      "nodeSubType": "gray",
      "nodeAddress": "0x0018e9e",
      "doorOrientation": "left",
      "doorEnvironments": [
        {
          "physics": "air"
        }
      ],
      "useImplicitComeInNormally": false,
      "useImplicitComeInWithMockball": false,
      "locks": [
        {
          "name": "Morph Ball Room Gray Lock (to Green Hill Zone)",
          "lockType": "killEnemies",
          "lock": [
            "f_ZebesAwake"
          ],
          "unlockStrats": [
            {
              "name": "Base",
              "requires": [
                {
                  "obstaclesCleared": [
                    "C"
                  ]
                }
              ],
              "devNote": "Obstacle can be destroyed either going 1 -> 6 or 6 -> 1."
            }
          ],
          "devNote": "Technically this yields f_ZebesAwake, although it requires the same flag to spawn the enemies, so it's not possible here."
        }
      ],
      "mapTileMask": [
        [
          0,
          0,
          0,
          0,
          0,
          1,
          0,
          0
        ],
        [
          0,
          0,
          0,
          0,
          0,
          1,
          0,
          0
        ],
        [
          2,
          2,
          1,
          1,
          1,
          1,
          1,
          1
        ]
      ]
    },
    {
      "id": 2,
      "name": "Elevator",
      "nodeType": "door",
      "nodeSubType": "elevator",
      "nodeAddress": "0x0018eb6",
      "doorOrientation": "up",
      "useImplicitCarryGModeBackThrough": false,
      "useImplicitCarryGModeMorphBackThrough": false,
      "mapTileMask": [
        [
          0,
          0,
          0,
          0,
          0,
          2,
          0,
          0
        ],
        [
          0,
          0,
          0,
          0,
          0,
          2,
          0,
          0
        ],
        [
          1,
          1,
          1,
          1,
          1,
          2,
          1,
          1
        ]
      ]
    },
    {
      "id": 3,
      "name": "Right Door",
      "nodeType": "door",
      "nodeSubType": "blue",
      "nodeAddress": "0x0018eaa",
      "doorOrientation": "right",
      "doorEnvironments": [
        {
          "physics": "air"
        }
      ],
      "mapTileMask": [
        [
          0,
          0,
          0,
          0,
          0,
          1,
          0,
          0
        ],
        [
          0,
          0,
          0,
          0,
          0,
          1,
          0,
          0
        ],
        [
          1,
          1,
          1,
          1,
          1,
          1,
          2,
          2
        ]
      ]
    },
    {
      "id": 4,
      "name": "Right Item",
      "nodeType": "item",
      "nodeSubType": "visible",
      "nodeItem": "Morph",
      "nodeAddress": "0x786DE",
      "mapTileMask": [
        [
          0,
          0,
          0,
          0,
          0,
          1,
          0,
          0
        ],
        [
          0,
          0,
          0,
          0,
          0,
          1,
          0,
          0
        ],
        [
          1,
          1,
          1,
          1,
          2,
          1,
          1,
          1
        ]
      ],
      "devNote": [
        "This item is technically no longer spawned after Zebes is awake, which would require canRiskPermanentLossOfAccess.",
        "The logic here is not modeling that, as that bug is likely not going to be kept by anyone that utilizes this data."
      ],
      "locks": [
        {
          "name": "Dummy Item Lock",
          "lockType": "gameFlag",
          "unlockStrats": [
            {
              "name": "Base (Collect Item)",
              "notable": false,
              "requires": []
            }
          ]
        }
      ]
    },
    {
      "id": 5,
      "name": "Left Item",
      "nodeType": "item",
      "nodeSubType": "visible",
      "nodeItem": "PowerBomb",
      "nodeAddress": "0x7874C",
      "locks": [
        {
          "name": "Blue Brinstar Power Bombs Spawn Lock",
          "lockType": "gameFlag",
          "unlockStrats": [
            {
              "name": "Base",
              "requires": [
                {
                  "or": [
                    "h_ZebesIsAwake",
                    "h_AllItemsSpawned"
                  ]
                }
              ]
            }
          ],
          "note": "Item doesn't appear before Zebes is awakened."
        }
      ],
      "mapTileMask": [
        [
          0,
          0,
          0,
          0,
          0,
          1,
          0,
          0
        ],
        [
          0,
          0,
          0,
          0,
          0,
          1,
          0,
          0
        ],
        [
          1,
          1,
          2,
          2,
          1,
          1,
          1,
          1
        ]
      ]
    }
  ],
  "obstacles": [
    {
      "id": "A",
      "name": "Bomb Blocks",
      "obstacleType": "inanimate"
    },
    {
      "id": "B",
      "name": "Power Bomb Blocks",
      "obstacleType": "inanimate"
    },
    {
      "id": "C",
      "name": "Sidehopper trio",
      "obstacleType": "enemies"
    },
    {
      "id": "D",
      "name": "At the Power Bomb Item While in Artificial Morph",
      "obstacleType": "abstract"
    }
  ],
  "enemies": [
    {
      "id": "e1",
      "groupName": "Morph Ball Room Sidehoppers",
      "enemyName": "Sidehopper",
      "quantity": 3,
      "homeNodes": [
        1
      ],
      "spawn": [
        "f_ZebesAwake"
      ]
    }
  ],
  "links": [
    {
      "from": 1,
      "to": [
        {
          "id": 1
        },
        {
          "id": 5
        }
      ]
    },
    {
      "from": 2,
      "to": [
        {
          "id": 2
        },
        {
          "id": 3
        },
        {
          "id": 4
        }
      ]
    },
    {
      "from": 3,
      "to": [
        {
          "id": 1
        },
        {
          "id": 2
        },
        {
          "id": 3
        },
        {
          "id": 5
        }
      ]
    },
    {
      "from": 4,
      "to": [
        {
          "id": 2
        },
        {
          "id": 4
        },
        {
          "id": 5
        }
      ]
    },
    {
      "from": 5,
      "to": [
        {
          "id": 1
        },
        {
          "id": 4
        },
        {
          "id": 5
        }
      ]
    }
  ],
  "strats": [
    {
      "id": 1,
      "link": [
        1,
        1
      ],
      "name": "Leave with Runway",
      "requires": [
        {
          "obstaclesCleared": [
            "C"
          ]
        }
      ],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 4,
          "openEnd": 1
        }
      }
    },
    {
      "id": 57,
      "link": [
        1,
        1
      ],
      "name": "Sidehopper Hit on Entry",
      "entranceCondition": {
        "comeInNormally": {}
      },
      "requires": [
        {
          "enemyDamage": {
            "enemy": "Sidehopper",
            "type": "contact",
            "hits": 1
          }
        }
      ]
    },
    {
      "id": 58,
      "link": [
        1,
        1
      ],
      "name": "Free Passage",
      "entranceCondition": {
        "comeInNormally": {}
      },
      "requires": [
        "h_ZebesNotAwake"
      ],
      "clearsObstacles": [
        "C"
      ],
      "devNote": "The obstacle isn't really cleared, but should enable all strats that require it to be."
    },
    {
      "id": 2,
      "link": [
        1,
        1
      ],
      "name": "Leave Shinecharged",
      "requires": [
        {
          "obstaclesCleared": [
            "C"
          ]
        },
        "canShinechargeMovement",
        {
          "canShineCharge": {
            "usedTiles": 25,
            "openEnd": 0
          }
        },
        {
          "shineChargeFrames": 45
        }
      ],
      "exitCondition": {
        "leaveShinecharged": {}
      },
      "flashSuitChecked": true
    },
    {
      "id": 3,
      "link": [
        1,
        1
      ],
      "name": "Leave Spinning",
      "requires": [
        {
          "obstaclesCleared": [
            "C"
          ]
        }
      ],
      "exitCondition": {
        "leaveSpinning": {
          "remoteRunway": {
            "length": 23,
            "openEnd": 0
          },
          "minExtraRunSpeed": "$2.7"
        }
      }
    },
    {
      "id": 4,
      "link": [
        1,
        1
      ],
      "name": "Leave With Mockball",
      "requires": [
        {
          "obstaclesCleared": [
            "C"
          ]
        }
      ],
      "exitCondition": {
        "leaveWithMockball": {
          "remoteRunway": {
            "length": 23,
            "openEnd": 0
          },
          "landingRunway": {
            "length": 4,
            "openEnd": 1
          }
        }
      }
    },
    {
      "id": 5,
      "link": [
        1,
        1
      ],
      "name": "Leave With Spring Ball Bounce",
      "requires": [
        {
          "obstaclesCleared": [
            "C"
          ]
        }
      ],
      "exitCondition": {
        "leaveWithSpringBallBounce": {
          "remoteRunway": {
            "length": 18,
            "openEnd": 0
          },
          "landingRunway": {
            "length": 4,
            "openEnd": 1
          },
          "movementType": "uncontrolled"
        }
      }
    },
    {
      "id": 6,
      "link": [
        1,
        1
      ],
      "name": "Leave Space Jumping",
      "requires": [
        {
          "obstaclesCleared": [
            "C"
          ]
        }
      ],
      "exitCondition": {
        "leaveSpaceJumping": {
          "remoteRunway": {
            "length": 17,
            "openEnd": 1
          }
        }
      }
    },
    {
      "id": 7,
      "link": [
        1,
        1
      ],
      "name": "Leave With Temporary Blue",
      "requires": [
        {
          "obstaclesCleared": [
            "C"
          ]
        },
        {
          "canShineCharge": {
            "usedTiles": 24,
            "openEnd": 0
          }
        },
        "canChainTemporaryBlue"
      ],
      "exitCondition": {
        "leaveWithTemporaryBlue": {}
      }
    },
    {
      "id": 10,
      "link": [
        1,
        1
      ],
      "name": "Crystal Flash",
      "requires": [
        {
          "obstaclesCleared": [
            "C"
          ]
        },
        "h_canCrystalFlash"
      ],
      "flashSuitChecked": true
    },
    {
      "id": 11,
      "link": [
        1,
        1
      ],
      "name": "Power Beam Sidehopper Kill",
      "requires": [
        {
          "enemyDamage": {
            "enemy": "Sidehopper",
            "type": "contact",
            "hits": 5
          }
        }
      ],
      "clearsObstacles": [
        "C"
      ]
    },
    {
      "id": 12,
      "link": [
        1,
        1
      ],
      "name": "Quick Sidehopper Kill",
      "requires": [
        {
          "enemyKill": {
            "enemies": [
              [
                "Sidehopper",
                "Sidehopper"
              ],
              [
                "Sidehopper"
              ]
            ],
            "explicitWeapons": [
              "Missile",
              "Super",
              "PowerBomb",
              "ScrewAttack",
              "Plasma"
            ]
          }
        }
      ],
      "clearsObstacles": [
        "C"
      ],
      "note": [
        "For the Power Bomb and Screw Attack kills, this strat assumes you don't know you're entering the room beforehand.",
        "If you know, it's possible to Power Bomb kill the first two Sidehoppers damage-free by morphing before entering.",
        "For Screw, just entering with a spin jump would work."
      ]
    },
    {
      "id": 13,
      "link": [
        1,
        1
      ],
      "name": "Spark into Room",
      "entranceCondition": {
        "comeInWithSpark": {}
      },
      "requires": [
        {
          "shinespark": {
            "frames": 40,
            "excessFrames": 9
          }
        }
      ],
      "clearsObstacles": [
        "C"
      ]
    },
    {
      "id": 14,
      "link": [
        1,
        1
      ],
      "name": "Prepared Kill on Entry",
      "entranceCondition": {
        "comeInNormally": {}
      },
      "requires": [
        "canPrepareForNextRoom",
        {
          "or": [
            {
              "and": [
                "Plasma",
                "Charge"
              ]
            },
            {
              "and": [
                "Plasma",
                "canTrickyDodgeEnemies",
                {
                  "or": [
                    "Ice",
                    "Wave"
                  ]
                }
              ]
            },
            "ScrewAttack"
          ]
        }
      ],
      "clearsObstacles": [
        "C"
      ],
      "note": [
        "Enter the room ready to kill the hoppers before they can hit Samus.",
        "Enter with a Charged Plasma shot ready, in a Screw Attack spin jump, or prepated to rapidly kill the hopper with Plasma and another beam."
      ]
    },
    {
      "id": 67,
      "link": [
        1,
        1
      ],
      "name": "Prepared Kill on Entry, Morph Entry",
      "entranceCondition": {
        "comeInNormally": {}
      },
      "requires": [
        "canPrepareForNextRoom",
        "Morph",
        "canTrickyJump",
        {
          "or": [
            "Plasma",
            {
              "and": [
                "h_canUsePowerBombs",
                {
                  "or": [
                    "canTrickyDodgeEnemies",
                    {
                      "enemyKill": {
                        "enemies": [
                          [
                            "Sidehopper"
                          ]
                        ],
                        "explicitWeapons": [
                          "Missile",
                          "Super",
                          "PowerBomb"
                        ]
                      }
                    }
                  ]
                }
              ]
            }
          ]
        }
      ],
      "clearsObstacles": [
        "C"
      ],
      "note": [
        "Roll into the room, fall off the step and roll into the corner.",
        "Either use a Power Bomb on entry, or unmorph at the bottom of the step and quickly kill the hoppers with Plasma."
      ]
    },
    {
      "id": 15,
      "link": [
        1,
        1
      ],
      "name": "Prepared Missile and Super Kill",
      "entranceCondition": {
        "comeInNormally": {}
      },
      "requires": [
        "canPrepareForNextRoom",
        "canTrickyDodgeEnemies",
        {
          "ammo": {
            "type": "Missile",
            "count": 1
          }
        },
        {
          "ammo": {
            "type": "Super",
            "count": 1
          }
        },
        {
          "or": [
            "Morph",
            {
              "and": [
                {
                  "ammo": {
                    "type": "Missile",
                    "count": 1
                  }
                },
                {
                  "ammo": {
                    "type": "Super",
                    "count": 1
                  }
                }
              ]
            }
          ]
        }
      ],
      "clearsObstacles": [
        "C"
      ],
      "note": [
        "Enter the room and immediately shoot a Missile and a Super to kill the first hopper.",
        "Quickly kill the second the same way or safely kill it with morph."
      ]
    },
    {
      "id": 16,
      "link": [
        1,
        1
      ],
      "name": "Prepared Missile and Super Kill (First Hopper)",
      "entranceCondition": {
        "comeInNormally": {}
      },
      "requires": [
        "canPrepareForNextRoom",
        "canTrickyDodgeEnemies",
        {
          "ammo": {
            "type": "Missile",
            "count": 1
          }
        },
        {
          "ammo": {
            "type": "Super",
            "count": 1
          }
        }
      ],
      "note": "Enter the room and immediately shoot a Missile and a Super to kill the first hopper.",
      "devNote": "This can then be paired with quickly leaving the room normally or with a G-Mode setup, if the door is unlocked."
    },
    {
      "id": 63,
      "link": [
        1,
        1
      ],
      "name": "Pause Abuse Sidehopper Hit",
      "entranceCondition": {
        "comeInNormally": {}
      },
      "requires": [
        "h_pauseAbuseMinimalReserveRefill"
      ]
    },
    {
      "id": 64,
      "link": [
        1,
        1
      ],
      "name": "Pause Abuse Quick Sidehopper Kill",
      "entranceCondition": {
        "comeInNormally": {}
      },
      "requires": [
        "h_pauseAbuseMinimalReserveRefill",
        {
          "or": [
            "Plasma",
            {
              "enemyKill": {
                "enemies": [
                  [
                    "Sidehopper",
                    "Sidehopper",
                    "Sidehopper"
                  ]
                ],
                "explicitWeapons": [
                  "Missile",
                  "Super"
                ]
              }
            }
          ]
        }
      ],
      "clearsObstacles": [
        "C"
      ]
    },
    {
      "id": 65,
      "link": [
        1,
        1
      ],
      "name": "Pause Abuse Pseudo Screw Sidehopper Kill",
      "entranceCondition": {
        "comeInNormally": {}
      },
      "requires": [
        "canPseudoScrew",
        "h_pauseAbuseMinimalReserveRefill",
        "h_pauseAbuseMinimalReserveRefill",
        "h_pauseAbuseMinimalReserveRefill",
        {
          "or": [
            "h_pauseAbuseMinimalReserveRefill",
            "Morph"
          ]
        },
        {
          "or": [
            "h_pauseAbuseMinimalReserveRefill",
            "canTrickyDodgeEnemies"
          ]
        }
      ],
      "clearsObstacles": [
        "C"
      ],
      "note": [
        "Pseudo Screw the first ground hopper and focus fire on it until it dies while taking 2-3 hits.",
        "Kill the ceiling hopper while on the ground, crouched near the stair for some safety, or with Morph without risk.",
        "The third hopper can be killed with another Pseudo Screw with pause abuse, a Morph dodge, or a dodge by jumping over it while it lunges towards Samus."
      ]
    },
    {
      "id": 68,
      "link": [
        1,
        1
      ],
      "name": "Mockball Entry, Tank Hit",
      "entranceCondition": {
        "comeInWithMockball": {
          "speedBooster": "any",
          "adjacentMinTiles": 0,
          "remoteAndLandingMinTiles": [
            [
              0,
              0
            ]
          ]
        }
      },
      "requires": [
        {
          "or": [
            {
              "enemyDamage": {
                "enemy": "Sidehopper",
                "type": "contact",
                "hits": 1
              }
            },
            "h_pauseAbuseMinimalReserveRefill"
          ]
        }
      ],
      "note": "Tank a hit or use a pause abuse with a reserve refill."
    },
    {
      "id": 69,
      "link": [
        1,
        1
      ],
      "name": "Mockball Entry, Quick Kill",
      "entranceCondition": {
        "comeInWithMockball": {
          "speedBooster": "any",
          "adjacentMinTiles": 0,
          "remoteAndLandingMinTiles": [
            [
              0,
              0
            ]
          ]
        }
      },
      "requires": [
        "canPrepareForNextRoom",
        {
          "or": [
            "Plasma",
            "ScrewAttack",
            {
              "and": [
                "h_canUsePowerBombs",
                {
                  "enemyKill": {
                    "enemies": [
                      [
                        "Sidehopper"
                      ]
                    ],
                    "explicitWeapons": [
                      "Missile",
                      "Super",
                      "PowerBomb"
                    ]
                  }
                }
              ]
            }
          ]
        }
      ],
      "note": "Unmorph and quickly kill the hoppers on entry."
    },
    {
      "id": 8,
      "link": [
        1,
        1
      ],
      "name": "G-Mode Setup - Get Hit By Sidehopper",
      "requires": [
        "h_ZebesIsAwake"
      ],
      "exitCondition": {
        "leaveWithGModeSetup": {}
      },
      "flashSuitChecked": true
    },
    {
      "id": 9,
      "link": [
        1,
        1
      ],
      "name": "G-Mode Regain Mobility",
      "requires": [
        {
          "enemyDamage": {
            "enemy": "Sidehopper",
            "type": "contact",
            "hits": 1
          }
        },
        "h_ZebesIsAwake"
      ],
      "gModeRegainMobility": {},
      "flashSuitChecked": true
    },
    {
      "id": 17,
      "link": [
        1,
        1
      ],
      "name": "Diagonal Spark on Entry",
      "entranceCondition": {
        "comeInShinecharged": {}
      },
      "requires": [
        {
          "shineChargeFrames": 5
        },
        "canPrepareForNextRoom",
        "canTrickyJump",
        "canDodgeWhileShooting",
        {
          "shinespark": {
            "frames": 5,
            "excessFrames": 1
          }
        },
        {
          "enemyKill": {
            "enemies": [
              [
                "Sidehopper"
              ]
            ],
            "explicitWeapons": [
              "Missile",
              "Super",
              "PowerBomb",
              "Plasma",
              "Spazer",
              "Wave",
              "Bombs"
            ]
          }
        }
      ],
      "clearsObstacles": [
        "C"
      ],
      "note": "Spark diagonally immediately on entry to kill the first two sidehoppers, then carefully kill the third."
    },
    {
      "id": 18,
      "link": [
        1,
        1
      ],
      "name": "Use Flash Suit, Diagonal Spark on Entry",
      "requires": [
        "canDodgeWhileShooting",
        "canUseSpeedEchoes",
        {
          "useFlashSuit": {}
        },
        {
          "shinespark": {
            "frames": 5,
            "excessFrames": 1
          }
        },
        {
          "enemyKill": {
            "enemies": [
              [
                "Sidehopper"
              ]
            ],
            "explicitWeapons": [
              "Missile",
              "Super",
              "PowerBomb",
              "Plasma",
              "Spazer",
              "Wave"
            ]
          }
        }
      ],
      "clearsObstacles": [
        "C"
      ],
      "flashSuitChecked": true,
      "note": "Spark diagonally immediately on entry to kill the first two sidehoppers, then carefully kill the third."
    },
    {
      "id": 19,
      "link": [
        1,
        1
      ],
      "name": "Power Bomb Sidehopper Kill and Bomb Blocks",
      "requires": [
        {
          "or": [
            "canMockball",
            {
              "enemyDamage": {
                "enemy": "Sidehopper",
                "type": "contact",
                "hits": 1
              }
            }
          ]
        },
        {
          "enemyKill": {
            "enemies": [
              [
                "Sidehopper",
                "Sidehopper"
              ],
              [
                "Sidehopper"
              ]
            ],
            "explicitWeapons": [
              "PowerBomb"
            ]
          }
        }
      ],
      "clearsObstacles": [
        "A",
        "C"
      ],
      "note": [
        "This strat assumes you don't know you're entering the room beforehand. Otherwise, it's possible to kill the first two Sidehoppers without taking damage.",
        "It's possible to break the bomb blocks alongside the third Sidehopper without taking an additional hit with a mockball."
      ],
      "devNote": "FIXME: There are missing Power Bomb strats that enter the room with a mockball."
    },
    {
      "id": 20,
      "link": [
        1,
        1
      ],
      "name": "Medium Sidehopper Kill",
      "requires": [
        {
          "enemyDamage": {
            "enemy": "Sidehopper",
            "type": "contact",
            "hits": 2
          }
        },
        {
          "or": [
            "Spazer",
            "Wave"
          ]
        }
      ],
      "clearsObstacles": [
        "C"
      ]
    },
    {
      "id": 60,
      "link": [
        1,
        1
      ],
      "name": "Pause Abuse Sidehopper Kill",
      "requires": [
        "h_pauseAbuseMinimalReserveRefill",
        {
          "or": [
            "Spazer",
            "Wave"
          ]
        },
        {
          "or": [
            "h_pauseAbuseMinimalReserveRefill",
            {
              "and": [
                "Morph",
                "canTrickyJump"
              ]
            }
          ]
        }
      ],
      "clearsObstacles": [
        "C"
      ]
    },
    {
      "id": 61,
      "link": [
        1,
        1
      ],
      "name": "Pause Abuse, Morph Slow Sidehopper Kill",
      "requires": [
        "Morph",
        "canTrickyDodgeEnemies",
        "h_pauseAbuseMinimalReserveRefill",
        "h_pauseAbuseMinimalReserveRefill",
        {
          "or": [
            "Ice",
            {
              "and": [
                "h_pauseAbuseMinimalReserveRefill",
                "h_pauseAbuseMinimalReserveRefill"
              ]
            }
          ]
        }
      ],
      "clearsObstacles": [
        "C"
      ]
    },
    {
      "id": 62,
      "link": [
        1,
        1
      ],
      "name": "Pause Abuse Slow Sidehopper Kill, Morphless",
      "requires": [
        "h_pauseAbuseMinimalReserveRefill",
        "h_pauseAbuseMinimalReserveRefill",
        "h_pauseAbuseMinimalReserveRefill",
        {
          "or": [
            "Ice",
            {
              "and": [
                "h_pauseAbuseMinimalReserveRefill",
                "h_pauseAbuseMinimalReserveRefill",
                "h_pauseAbuseMinimalReserveRefill"
              ]
            }
          ]
        },
        {
          "or": [
            "canTrickyDodgeEnemies",
            "h_pauseAbuseMinimalReserveRefill"
          ]
        }
      ],
      "clearsObstacles": [
        "C"
      ],
      "note": "To save a hit, jump over the third Sidehopper as it lunges towards Samus."
    },
    {
      "id": 21,
      "link": [
        1,
        1
      ],
      "name": "Free Passage",
      "requires": [
        "h_ZebesNotAwake"
      ],
      "clearsObstacles": [
        "C"
      ],
      "devNote": "The obstacle isn't really cleared, but should enable all strats that require it to be."
    },
    {
      "id": 24,
      "link": [
        1,
        5
      ],
      "name": "Blocks Already Broken",
      "requires": [
        "Morph",
        {
          "obstaclesCleared": [
            "A",
            "C"
          ]
        }
      ]
    },
    {
      "id": 25,
      "link": [
        1,
        5
      ],
      "name": "Bomb the Blocks",
      "requires": [
        "h_canBombThings",
        {
          "obstaclesCleared": [
            "C"
          ]
        }
      ],
      "clearsObstacles": [
        "A"
      ]
    },
    {
      "id": 59,
      "link": [
        1,
        5
      ],
      "name": "Run Through",
      "entranceCondition": {
        "comeInNormally": {}
      },
      "requires": [
        {
          "enemyDamage": {
            "enemy": "Sidehopper",
            "type": "contact",
            "hits": 2
          }
        },
        {
          "or": [
            "canTrickyJump",
            {
              "enemyDamage": {
                "enemy": "Sidehopper",
                "type": "contact",
                "hits": 1
              }
            }
          ]
        },
        "h_canBombThings"
      ]
    },
    {
      "id": 26,
      "link": [
        1,
        5
      ],
      "name": "Speedball (Left to Right)",
      "requires": [
        {
          "obstaclesCleared": [
            "C"
          ]
        },
        {
          "speedBall": {
            "length": 25,
            "openEnd": 0
          }
        }
      ],
      "clearsObstacles": [
        "A"
      ],
      "note": [
        "It's a short charge into a speedball to break the bomb blocks.",
        "The Sidehoppers need to be destroyed beforehand to clear the running space."
      ]
    },
    {
      "id": 27,
      "link": [
        1,
        5
      ],
      "name": "Room Entry Speedball",
      "entranceCondition": {
        "comeInGettingBlueSpeed": {
          "length": 2,
          "openEnd": 0
        }
      },
      "requires": [
        "canSpeedball"
      ],
      "clearsObstacles": [
        "A"
      ],
      "devNote": [
        "This is a direct link because clearing the hoppers is unnecessary.",
        "One tile is subtracted from the runway length since Samus must be blue before contacting the first Hopper.",
        "There is 1 unusable tile in this runway."
      ]
    },
    {
      "id": 70,
      "link": [
        1,
        5
      ],
      "name": "Morph Entry, Precise Dodge",
      "entranceCondition": {
        "comeInNormally": {}
      },
      "requires": [
        "canPrepareForNextRoom",
        "canTrickyDodgeEnemies",
        "canCameraManip",
        "h_canBombThings"
      ],
      "clearsObstacles": [
        "A"
      ],
      "note": [
        "Roll into the room, fall off the step and roll into the corner.",
        "Roll to the right immediately as the floor hopper is going to take its second jump to get it off camera.",
        "Once it is off camera, stop and wait for the next hopper to jump towards Samus, then roll under it as it jumps again."
      ]
    },
    {
      "id": 71,
      "link": [
        1,
        5
      ],
      "name": "Mockball Entry, Precise Dodge",
      "entranceCondition": {
        "comeInWithMockball": {
          "speedBooster": "any",
          "adjacentMinTiles": 0,
          "remoteAndLandingMinTiles": [
            [
              0,
              0
            ]
          ]
        }
      },
      "requires": [
        "canPrepareForNextRoom",
        "canTrickyDodgeEnemies",
        "canCameraManip",
        "h_canBombThings"
      ],
      "clearsObstacles": [
        "A"
      ],
      "note": [
        "Roll into the room, fall off the step and roll into the corner.",
        "Roll to the right immediately as the floor hopper is going to take its second jump to get it off camera.",
        "Once it is off camera, stop and wait for the next hopper to jump towards Samus, then roll under it as it jumps again."
      ]
    },
    {
      "id": 28,
      "link": [
        1,
        5
      ],
      "name": "G-Mode Morph Overload PLMs Zebes Asleep",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": true
        }
      },
      "requires": [
        "h_ZebesNotAwake"
      ],
      "clearsObstacles": [
        "D"
      ],
      "flashSuitChecked": true,
      "note": "Overload the PLMs by rolling through the camera scroll blocks which are 4 tiles to the right of the stair by the door."
    },
    {
      "id": 29,
      "link": [
        1,
        5
      ],
      "name": "G-Mode Overload PLMs Indirect",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "indirect",
          "morphed": true
        }
      },
      "requires": [
        {
          "or": [
            {
              "enemyDamage": {
                "enemy": "Sidehopper",
                "type": "contact",
                "hits": 2
              }
            },
            {
              "ammo": {
                "type": "PowerBomb",
                "count": 1
              }
            },
            {
              "and": [
                "Morph",
                {
                  "or": [
                    {
                      "and": [
                        "Plasma",
                        "Charge"
                      ]
                    },
                    "ScrewAttack"
                  ]
                }
              ]
            }
          ]
        }
      ],
      "clearsObstacles": [
        "D"
      ],
      "flashSuitChecked": true,
      "note": [
        "Either kill the Sidehoppers immediately on entry by placing a Power Bomb while rolling off the stair or tank their hits.",
        "If Samus has Morph Ball, it is also possible to kill the Sidehoppers upon room entry with Screw Attack or a powerful beam.",
        "Overload the PLMs by rolling through the camera scroll blocks which are 4 tiles to the right of the stair by the door.",
        "Roll under the last Sidehopper and through the bomb blocks."
      ]
    },
    {
      "id": 30,
      "link": [
        1,
        5
      ],
      "name": "G-Mode Morph Overload PLMs Direct",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "direct",
          "morphed": true
        }
      },
      "requires": [
        {
          "or": [
            {
              "enemyDamage": {
                "enemy": "Sidehopper",
                "type": "contact",
                "hits": 3
              }
            },
            {
              "and": [
                {
                  "enemyDamage": {
                    "enemy": "Sidehopper",
                    "type": "contact",
                    "hits": 1
                  }
                },
                {
                  "ammo": {
                    "type": "PowerBomb",
                    "count": 1
                  }
                }
              ]
            },
            {
              "and": [
                "Morph",
                "ScrewAttack",
                "canTrickyJump"
              ]
            }
          ]
        }
      ],
      "clearsObstacles": [
        "D"
      ],
      "flashSuitChecked": true,
      "note": [
        "Tank the Sidehopper hits or kill them after a single hit by quickly placing a Power Bomb.",
        "It is also possible to kill the Sidehoppers with a very fast Screw Attack, if Samus has Morph Ball.",
        "Overload the PLMs by rolling through the camera scroll blocks which are 4 tiles to the right of the stair by the door.",
        "Roll under the last Sidehopper and through the bomb blocks."
      ]
    },
    {
      "id": 31,
      "link": [
        2,
        2
      ],
      "name": "Leave Shinecharged",
      "requires": [
        {
          "canShineCharge": {
            "usedTiles": 30,
            "openEnd": 0
          }
        },
        "canShinechargeMovement",
        {
          "shineChargeFrames": 50
        }
      ],
      "exitCondition": {
        "leaveShinecharged": {}
      },
      "flashSuitChecked": true
    },
    {
      "id": 66,
      "link": [
        2,
        2
      ],
      "name": "Carry G-Mode Back Up the Elevator",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": false
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveWithGMode": {
          "morphed": false
        }
      },
      "flashSuitChecked": true
    },
    {
      "id": 32,
      "link": [
        2,
        3
      ],
      "name": "Base",
      "requires": []
    },
    {
      "id": 33,
      "link": [
        2,
        4
      ],
      "name": "Base",
      "requires": []
    },
    {
      "id": 34,
      "link": [
        3,
        1
      ],
      "name": "Grapple Teleport",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              34
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true
    },
    {
      "id": 35,
      "link": [
        3,
        1
      ],
      "name": "Carry Grapple Teleport",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              34
            ]
          ]
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              34
            ]
          ]
        }
      },
      "bypassesDoorShell": true
    },
    {
      "id": 36,
      "link": [
        3,
        2
      ],
      "name": "Base",
      "requires": []
    },
    {
      "id": 37,
      "link": [
        3,
        2
      ],
      "name": "Carry G-Mode Up the Elevator",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": false
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveWithGMode": {
          "morphed": false
        }
      },
      "flashSuitChecked": true
    },
    {
      "id": 38,
      "link": [
        3,
        3
      ],
      "name": "Leave with Runway",
      "requires": [],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 5,
          "openEnd": 1
        }
      }
    },
    {
      "id": 39,
      "link": [
        3,
        3
      ],
      "name": "Leave Shinecharged",
      "requires": [
        {
          "canShineCharge": {
            "usedTiles": 30,
            "openEnd": 0
          }
        },
        "canShinechargeMovement",
        {
          "shineChargeFrames": 50
        }
      ],
      "exitCondition": {
        "leaveShinecharged": {}
      },
      "flashSuitChecked": true
    },
    {
      "id": 40,
      "link": [
        3,
        3
      ],
      "name": "Leave Spinning",
      "requires": [],
      "exitCondition": {
        "leaveSpinning": {
          "remoteRunway": {
            "length": 26,
            "openEnd": 1
          },
          "minExtraRunSpeed": "$2.4"
        }
      }
    },
    {
      "id": 41,
      "link": [
        3,
        3
      ],
      "name": "Leave With Mockball",
      "requires": [],
      "exitCondition": {
        "leaveWithMockball": {
          "remoteRunway": {
            "length": 26,
            "openEnd": 1
          },
          "landingRunway": {
            "length": 5,
            "openEnd": 1
          }
        }
      }
    },
    {
      "id": 42,
      "link": [
        3,
        3
      ],
      "name": "Leave With Spring Ball Bounce",
      "requires": [],
      "exitCondition": {
        "leaveWithSpringBallBounce": {
          "remoteRunway": {
            "length": 23,
            "openEnd": 0
          },
          "landingRunway": {
            "length": 5,
            "openEnd": 1
          },
          "movementType": "uncontrolled"
        }
      }
    },
    {
      "id": 43,
      "link": [
        3,
        3
      ],
      "name": "Leave Space Jumping",
      "requires": [],
      "exitCondition": {
        "leaveSpaceJumping": {
          "remoteRunway": {
            "length": 21,
            "openEnd": 1
          }
        }
      }
    },
    {
      "id": 44,
      "link": [
        3,
        3
      ],
      "name": "Leave With Temporary Blue",
      "requires": [
        {
          "canShineCharge": {
            "usedTiles": 29,
            "openEnd": 0
          }
        },
        "canChainTemporaryBlue"
      ],
      "exitCondition": {
        "leaveWithTemporaryBlue": {}
      }
    },
    {
      "id": 45,
      "link": [
        3,
        5
      ],
      "name": "G-Mode Morph Power Bomb the Blocks",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": true
        }
      },
      "requires": [
        "h_canArtificialMorphPowerBomb",
        "h_canArtificialMorphMovement"
      ],
      "clearsObstacles": [
        "B"
      ],
      "flashSuitChecked": true,
      "note": "Place the Power Bomb, then exit g-mode before the bomb goes off."
    },
    {
      "id": 46,
      "link": [
        4,
        2
      ],
      "name": "Base",
      "requires": [
        {
          "or": [
            "canWalljump",
            "Morph",
            "SpaceJump",
            "HiJump"
          ]
        }
      ]
    },
    {
      "id": 47,
      "link": [
        4,
        2
      ],
      "name": "Careful Jump",
      "requires": [
        {
          "or": [
            "canCarefulJump",
            "i_canEscapeMorphLocation"
          ]
        }
      ]
    },
    {
      "id": 48,
      "link": [
        4,
        2
      ],
      "name": "Crouch Jump Down Grab",
      "requires": [
        "h_canCrouchJumpDownGrab"
      ]
    },
    {
      "id": 49,
      "link": [
        4,
        4
      ],
      "name": "Crystal Flash",
      "requires": [
        "h_canCrystalFlash"
      ],
      "clearsObstacles": [
        "B"
      ],
      "flashSuitChecked": true
    },
    {
      "id": 50,
      "link": [
        4,
        5
      ],
      "name": "Base",
      "requires": [
        {
          "or": [
            "h_canUsePowerBombs",
            {
              "obstaclesCleared": [
                "B"
              ]
            }
          ]
        }
      ],
      "clearsObstacles": [
        "B"
      ]
    },
    {
      "id": 51,
      "link": [
        5,
        1
      ],
      "name": "Blocks Already Broken",
      "requires": [
        "Morph",
        {
          "obstaclesCleared": [
            "A"
          ]
        }
      ],
      "note": "Kill the ground hoppers by shooting through the morph tunnel, then roll through to the left door."
    },
    {
      "id": 52,
      "link": [
        5,
        1
      ],
      "name": "Speedball (Right to Left)",
      "requires": [
        {
          "obstaclesCleared": [
            "B"
          ]
        },
        {
          "getBlueSpeed": {
            "usedTiles": 21,
            "openEnd": 1
          }
        },
        "canSpeedball"
      ],
      "clearsObstacles": [
        "A",
        "C"
      ],
      "note": [
        "It's a short charge into a speedball to break the Bomb Blocks.",
        "The Power Bomb Blocks need to be destroyed to have enough running room.",
        "The sidehoppers that remain can be killed safely using the morph tunnel."
      ]
    },
    {
      "id": 53,
      "link": [
        5,
        1
      ],
      "name": "Safe Sidehopper Kill",
      "requires": [
        "Morph",
        {
          "or": [
            "Wave",
            "canDodgeWhileShooting",
            "h_canUsePowerBombs",
            "ScrewAttack"
          ]
        },
        {
          "obstaclesCleared": [
            "A"
          ]
        }
      ],
      "clearsObstacles": [
        "C"
      ],
      "note": "The SideHoppers can be killed safely from behind with Power Beam.",
      "devNote": "Killing the ceiling hopper is the only one that's not free. Killing the bottom two and leaving the left door is accounted for elsewhere."
    },
    {
      "id": 54,
      "link": [
        5,
        4
      ],
      "name": "Base",
      "requires": [
        {
          "or": [
            "h_canUsePowerBombs",
            {
              "obstaclesCleared": [
                "B"
              ]
            }
          ]
        }
      ],
      "clearsObstacles": [
        "B"
      ]
    },
    {
      "id": 55,
      "link": [
        5,
        5
      ],
      "name": "Bomb the Blocks",
      "requires": [
        "h_canBombThings"
      ],
      "clearsObstacles": [
        "A"
      ]
    },
    {
      "id": 56,
      "link": [
        5,
        5
      ],
      "name": "Power Bomb Blocks While in Artificial Morph from the Left",
      "requires": [
        {
          "obstaclesCleared": [
            "D"
          ]
        },
        "h_canArtificialMorphPowerBomb",
        {
          "or": [
            "h_canArtificialMorphSpringBall",
            "h_canArtificialMorphPowerBomb",
            "h_canArtificialMorphBombs"
          ]
        }
      ],
      "clearsObstacles": [
        "B"
      ],
      "note": "Place the Power Bomb, then exit g-mode before the bomb goes off."
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Base (Unlock Door)",
      "requires": [],
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ]
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Base (Come In With Mockball)",
      "entranceCondition": {
        "comeInWithMockball": {
          "adjacentMinTiles": 0,
          "remoteAndLandingMinTiles": [
            [
              0,
              0
            ]
          ],
          "speedBooster": "any"
        }
      },
      "requires": []
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Base (Unlock Door)",
      "requires": [],
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ]
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Base (Come In Normally)",
      "entranceCondition": {
        "comeInNormally": {}
      },
      "requires": []
    },
    {
      "link": [
        3,
        3
      ],
      "name": "Base (Unlock Door)",
      "requires": [],
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ]
    },
    {
      "link": [
        3,
        3
      ],
      "name": "Base (Come In Normally)",
      "entranceCondition": {
        "comeInNormally": {}
      },
      "requires": []
    },
    {
      "name": "Base (Collect Item)",
      "notable": false,
      "requires": [],
      "link": [
        4,
        4
      ],
      "collectsItems": [
        4
      ]
    },
    {
      "name": "Base",
      "requires": [
        {
          "or": [
            "h_ZebesIsAwake",
            "h_AllItemsSpawned"
          ]
        }
      ],
      "link": [
        5,
        5
      ],
      "collectsItems": [
        5
      ]
    }
  ],
  "notables": [],
  "nextStratId": 72,
  "nextNotableId": 1
}