Metroid Room 1

Room ID: 226

Wiki
Difficulty filter

From: 1
Left Door
To: 1
Left Door

Exit condition:

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

Stand a bit more than a tile away from the ledge and wait for the Rinka to start moving. Freeze the Rinka at the correct height while maintainig a half-tile gap between the Rinka and the runway to extend it as much as possible.

Requires:

"h_canFrozenEnemyRunway"

Exit condition:

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

Requires:

{
  "or": [
    "canMetroidAvoid",
    "Ice",
    "f_KilledMetroidRoom1"
  ]
}
"canShinechargeMovement"
{
  "canShineCharge": {
    "usedTiles": 31,
    "openEnd": 1
  }
}
{
  "shineChargeFrames": 40
}

Exit condition:

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

Requires:

{
  "or": [
    "canMetroidAvoid",
    "Ice",
    "f_KilledMetroidRoom1"
  ]
}

Exit condition:

{
  "leaveSpinning": {
    "remoteRunway": {
      "length": 29,
      "openEnd": 1
    }
  }
}
From: 1
Left Door
To: 1
Left Door

Requires:

{
  "or": [
    "canMetroidAvoid",
    "Ice",
    "f_KilledMetroidRoom1"
  ]
}

Exit condition:

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

Requires:

{
  "or": [
    "canMetroidAvoid",
    "Ice",
    "f_KilledMetroidRoom1"
  ]
}

Exit condition:

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

Requires:

{
  "or": [
    "canMetroidAvoid",
    "Ice",
    "f_KilledMetroidRoom1"
  ]
}

Exit condition:

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

If it not possible to freeze or kill the Metroids, then move quickly enough that they get stuck off-camera to the right, and gain the shinecharge in a position where Samus can angle up and shoot the Rinka while waiting for the shinecharge timer to run out.

Requires:

{
  "or": [
    "canMetroidAvoid",
    "Ice",
    "f_KilledMetroidRoom1"
  ]
}
{
  "canShineCharge": {
    "usedTiles": 30,
    "openEnd": 1
  }
}
"canChainTemporaryBlue"

Exit condition:

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

Be sure to be at a safe distance from Rinkas before performing the Crystal Flash.

Requires:

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

Place Power Bombs to kill the Metroids. By hitting the first Rinka, all of the Metroids (on a similar vertical height to the Power Bomb) will be damaged.

Requires:

{
  "enemyKill": {
    "enemies": [
      [
        "Metroid",
        "Metroid",
        "Metroid",
        "Metroid"
      ]
    ],
    "explicitWeapons": [
      "PowerBombPeriphery"
    ]
  }
}
{
  "or": [
    "canTrickyJump",
    {
      "ammo": {
        "type": "PowerBomb",
        "count": 2
      }
    }
  ]
}
{
  "metroidFrames": 330
}

Clears obstacles: A

From: 1
Left Door
To: 1
Left Door

Group all of the Metroids by hitting the first Rinka with a Power Bomb. Once grouped, use two more Power Bombs to finish them off.

Requires:

{
  "enemyKill": {
    "enemies": [
      [
        "Metroid",
        "Metroid",
        "Metroid",
        "Metroid"
      ]
    ],
    "explicitWeapons": [
      "PowerBomb"
    ]
  }
}
"canMetroidAvoid"
"canHitbox"
{
  "or": [
    {
      "ammo": {
        "type": "PowerBomb",
        "count": 1
      }
    },
    "canInsaneJump",
    {
      "metroidFrames": 100
    }
  ]
}

Clears obstacles: A

From: 1
Left Door
To: 1
Left Door

Exit condition:

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

Requires:

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

Kill the Metroids while artificially morphed with just Spring Ball to avoid them. A Metroid (or a Rinka) must be completely on screen while a Power Bomb explodes in order for it to lure the other Metroids. Because of this, with extra ammo, it is possible to kill one or two of them before luring the rest. In general, this seems to be easiest by minimizing Samus's horizontal movement as much as possible and getting the Metroids in sync with each other while circling around her. While moving horizontally, their movement is less predictable and harder to sync. Note that it is necessary to exit G-Mode before exiting the room in order for the Metroids to remain killed.

Entrance condition:

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

Requires:

"canMetroidAvoid"
"h_canArtificialMorphSpringBall"
{
  "ammo": {
    "type": "PowerBomb",
    "count": 4
  }
}

Clears obstacles: A

From: 1
Left Door
To: 2
Right Door

Spark through the top of the door to avoid the platforms.

Entrance condition:

{
  "comeInWithSpark": {}
}

Requires:

"canMidairShinespark"
{
  "shinespark": {
    "frames": 112,
    "excessFrames": 16
  }
}
From: 1
Left Door
To: 2
Right Door

Align with the wall below the door while facing left. Hold dash, turn around, start running and arm pump once. Jump from the rightmost 'X' in the background. Release forward at some point while airborne, but repress it again before the CWJ. Immediately after the CWJ, shoot the Metroid to avoid getting grabbed.

Requires:

{
  "notable": "Acid Skip CWJ"
}
"canCWJ"
"canInsaneWalljump"
{
  "or": [
    {
      "obstaclesCleared": [
        "A"
      ]
    },
    "canDodgeWhileShooting"
  ]
}
From: 1
Left Door
To: 2
Right Door

Requires:

"canBlueSpaceJump"
{
  "getBlueSpeed": {
    "usedTiles": 31,
    "openEnd": 1
  }
}
From: 1
Left Door
To: 2
Right Door

Jump Immediately upon entry, or before the transition.

Entrance condition:

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

Requires:

"canBlueSpaceJump"
"canCarefulJump"
From: 1
Left Door
To: 2
Right Door

Entrance condition:

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

Requires:

"f_KilledMetroidRoom1"
"h_canArtificialMorphLongCeilingBombJump"
"canBePatient"
From: 1
Left Door
To: 2
Right Door

Requires:

{
  "or": [
    "canMetroidAvoid",
    "Ice",
    "f_KilledMetroidRoom1"
  ]
}
"canTrickyJump"
"SpaceJump"

Exit condition:

{
  "leaveSpinning": {
    "remoteRunway": {
      "length": 31,
      "openEnd": 1
    }
  }
}

Unlocks doors:

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

Requires:

{
  "or": [
    "canMetroidAvoid",
    "Ice",
    "f_KilledMetroidRoom1"
  ]
}
"canPreciseSpaceJump"

Exit condition:

{
  "leaveWithMockball": {
    "remoteRunway": {
      "length": 31,
      "openEnd": 1
    },
    "landingRunway": {
      "length": 3,
      "openEnd": 1
    }
  }
}

Unlocks doors:

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

Requires:

{
  "or": [
    "canMetroidAvoid",
    "Ice",
    "f_KilledMetroidRoom1"
  ]
}
"canTrickyJump"
"canPreciseSpaceJump"

Exit condition:

{
  "leaveWithSpringBallBounce": {
    "remoteRunway": {
      "length": 31,
      "openEnd": 1
    },
    "landingRunway": {
      "length": 3,
      "openEnd": 1
    },
    "movementType": "uncontrolled"
  }
}

Unlocks doors:

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

Requires:

{
  "or": [
    "canMetroidAvoid",
    "Ice",
    "f_KilledMetroidRoom1"
  ]
}
"canTrickySpringBallBounce"

Exit condition:

{
  "leaveWithSpringBallBounce": {
    "remoteRunway": {
      "length": 31,
      "openEnd": 1
    },
    "landingRunway": {
      "length": 3,
      "openEnd": 1
    },
    "minExtraRunSpeed": "$1.3",
    "movementType": "controlled"
  }
}

Unlocks doors:

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

Requires:

{
  "or": [
    "canMetroidAvoid",
    "Ice",
    "f_KilledMetroidRoom1"
  ]
}
"canPreciseSpaceJump"

Exit condition:

{
  "leaveSpaceJumping": {
    "remoteRunway": {
      "length": 31,
      "openEnd": 1
    }
  }
}

Unlocks doors:

{"types":["ammo"],"requires":[]}
From: 1
Left Door
To: 3
Junction (Get Past Metroids, Left to Right)

From: 1
Left Door
To: 3
Junction (Get Past Metroids, Left to Right)

Requires:

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

Clears obstacles: A

From: 1
Left Door
To: 3
Junction (Get Past Metroids, Left to Right)

Requires:

"Ice"
{
  "enemyKill": {
    "enemies": [
      [
        "Metroid",
        "Metroid",
        "Metroid",
        "Metroid"
      ]
    ],
    "explicitWeapons": [
      "Super",
      "Missile"
    ]
  }
}

Clears obstacles: A

From: 2
Right Door
To: 1
Left Door

Spark through the top of the door to avoid the platforms.

Entrance condition:

{
  "comeInWithSpark": {}
}

Requires:

"canMidairShinespark"
{
  "shinespark": {
    "frames": 112,
    "excessFrames": 35
  }
}
From: 2
Right Door
To: 1
Left Door

Jump Immediately upon entry, or before the transition.

Entrance condition:

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

Requires:

"canBlueSpaceJump"
"canCarefulJump"
From: 2
Right Door
To: 1
Left Door

Entrance condition:

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

Requires:

"f_KilledMetroidRoom1"
"h_canArtificialMorphCeilingBombJump"
From: 2
Right Door
To: 1
Left Door

Entrance condition:

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

Entrance condition:

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

Bypasses door shell: true

From: 2
Right Door
To: 1
Left Door

Entrance condition:

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

Exit condition:

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

Bypasses door shell: true

From: 2
Right Door
To: 1
Left Door

Entrance condition:

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

Exit condition:

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

Bypasses door shell: true

From: 2
Right Door
To: 2
Right Door

Exit condition:

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

Use a frozen Metroid or a Rinka from the left to extend the length of the runway. Luring a Rinka is easiest with Morph - While morphed, barely move the bottom Rinka spawner on camera in order to have it shoot at a usable angle. Without Morph, use the top Rinka spawner and jump just before the Rinka starts moving to get a usable angle.

Requires:

{
  "or": [
    "h_canTrickyFrozenEnemyRunway",
    {
      "and": [
        "h_canFrozenEnemyRunway",
        {
          "not": "f_KilledMetroidRoom1"
        },
        "canRiskPermanentLossOfAccess"
      ]
    }
  ]
}

Exit condition:

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

Requires:

{
  "or": [
    "canMetroidAvoid",
    "Ice",
    "f_KilledMetroidRoom1"
  ]
}
"canShinechargeMovement"
{
  "canShineCharge": {
    "usedTiles": 23,
    "openEnd": 1
  }
}
{
  "shineChargeFrames": 40
}

Exit condition:

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

Requires:

{
  "or": [
    "canMetroidAvoid",
    "Ice",
    "f_KilledMetroidRoom1"
  ]
}

Exit condition:

{
  "leaveSpinning": {
    "remoteRunway": {
      "length": 21,
      "openEnd": 1
    }
  }
}
From: 2
Right Door
To: 2
Right Door

Requires:

{
  "or": [
    "canMetroidAvoid",
    "Ice",
    "f_KilledMetroidRoom1"
  ]
}

Exit condition:

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

Requires:

{
  "or": [
    "canMetroidAvoid",
    "Ice",
    "f_KilledMetroidRoom1"
  ]
}

Exit condition:

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

Requires:

{
  "or": [
    "canMetroidAvoid",
    "Ice",
    "f_KilledMetroidRoom1"
  ]
}

Exit condition:

{
  "leaveSpaceJumping": {
    "remoteRunway": {
      "length": 15,
      "openEnd": 0
    }
  }
}
From: 2
Right Door
To: 2
Right Door

Requires:

{
  "or": [
    "canMetroidAvoid",
    "Ice",
    "f_KilledMetroidRoom1"
  ]
}
{
  "canShineCharge": {
    "usedTiles": 22,
    "openEnd": 0
  }
}
"canChainTemporaryBlue"

Exit condition:

{
  "leaveWithTemporaryBlue": {}
}
From: 2
Right Door
To: 2
Right Door

Requires:

"h_canCrystalFlash"
From: 2
Right Door
To: 2
Right Door

Place Power Bombs to kill the Metroids. By hitting the first Rinka, all of the Metroids (on a similar vertical height to the Power Bomb) will be damaged.

Requires:

{
  "enemyKill": {
    "enemies": [
      [
        "Metroid",
        "Metroid",
        "Metroid",
        "Metroid"
      ]
    ],
    "explicitWeapons": [
      "PowerBombPeriphery"
    ]
  }
}
{
  "or": [
    "canTrickyJump",
    {
      "ammo": {
        "type": "PowerBomb",
        "count": 2
      }
    }
  ]
}
{
  "metroidFrames": 170
}

Clears obstacles: A

From: 2
Right Door
To: 2
Right Door

Group all of the Metroids by hitting the first Rinka with a Power Bomb. Once grouped, use two more Power Bombs to finish them off.

Requires:

{
  "notable": "Power Bomb Dodge Kill (Right to Left)"
}
{
  "enemyKill": {
    "enemies": [
      [
        "Metroid",
        "Metroid",
        "Metroid",
        "Metroid"
      ]
    ],
    "explicitWeapons": [
      "PowerBomb"
    ]
  }
}
"canMetroidAvoid"

Clears obstacles: A

From: 2
Right Door
To: 2
Right Door

Wait for the Rinka to spawn, then jump, so the trajectory is as high as possible. Space jump makes this a bit easier. If the Metroids are alive, lure them off screen to the left.

Requires:

{
  "or": [
    "canTrickyJump",
    "SpaceJump"
  ]
}
{
  "or": [
    "canMetroidAvoid",
    "canUseFrozenEnemies",
    "ScrewAttack",
    "f_KilledMetroidRoom1"
  ]
}

Exit condition:

{
  "leaveWithGModeSetup": {}
}
From: 2
Right Door
To: 2
Right Door

Requires:

{
  "not": "f_KilledMetroidRoom1"
}
"canRiskPermanentLossOfAccess"

Exit condition:

{
  "leaveWithGModeSetup": {
    "knockback": false
  }
}
From: 2
Right Door
To: 2
Right Door

Kill the Metroids while artificially morphed with just Spring Ball to avoid them. A Metroid (or a Rinka) must be completely on screen while a Power Bomb explodes in order for it to lure the other Metroids. Because of this, with extra ammo, it is possible to kill one of them before luring the rest. In general, this seems to be easiest by minimizing Samus's horizontal movement as much as possible and getting the Metroids in sync with each other while circling around her. While moving horizontally, their movement is less predictable and harder to sync. Note that it is necessary to exit G-Mode before exiting the room in order for the Metroids to remain killed.

Entrance condition:

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

Requires:

"canMetroidAvoid"
"h_canArtificialMorphSpringBall"
{
  "ammo": {
    "type": "PowerBomb",
    "count": 4
  }
}

Clears obstacles: A

From: 2
Right Door
To: 4
Junction (Get Past Metroids, Right to Left)

From: 2
Right Door
To: 4
Junction (Get Past Metroids, Right to Left)

Requires:

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

Clears obstacles: A

From: 2
Right Door
To: 4
Junction (Get Past Metroids, Right to Left)

Requires:

"Ice"
{
  "enemyKill": {
    "enemies": [
      [
        "Metroid",
        "Metroid",
        "Metroid",
        "Metroid"
      ]
    ],
    "explicitWeapons": [
      "Super",
      "Missile"
    ]
  }
}

Clears obstacles: A

From: 2
Right Door
To: 5
Junction (Metroid Kill Flag)

Requires:

{
  "obstaclesCleared": [
    "A"
  ]
}
From: 3
Junction (Get Past Metroids, Left to Right)
To: 2
Right Door

Requires:

"SpaceJump"
{
  "or": [
    {
      "obstaclesCleared": [
        "A"
      ]
    },
    "Ice",
    "ScrewAttack",
    "canPseudoScrew",
    "canMetroidAvoid",
    {
      "metroidFrames": 270
    }
  ]
}
From: 3
Junction (Get Past Metroids, Left to Right)
To: 2
Right Door

Use the full runway to gain blue speed and enough speed to reach the far platform.

Requires:

{
  "getBlueSpeed": {
    "usedTiles": 31,
    "openEnd": 1
  }
}
"canCarefulJump"
{
  "or": [
    {
      "obstaclesCleared": [
        "A"
      ]
    },
    "Ice",
    "ScrewAttack",
    "canPseudoScrew",
    "canMetroidAvoid",
    {
      "metroidFrames": 130
    }
  ]
}
From: 3
Junction (Get Past Metroids, Left to Right)
To: 2
Right Door

Requires:

"canMidairShinespark"
{
  "canShineCharge": {
    "usedTiles": 31,
    "openEnd": 0
  }
}
{
  "or": [
    {
      "and": [
        {
          "obstaclesCleared": [
            "A"
          ]
        },
        {
          "shinespark": {
            "frames": 54
          }
        }
      ]
    },
    {
      "and": [
        "HiJump",
        {
          "shinespark": {
            "frames": 54
          }
        }
      ]
    },
    {
      "and": [
        {
          "metroidFrames": 300
        },
        {
          "shinespark": {
            "frames": 54
          }
        }
      ]
    },
    {
      "and": [
        "canTrickyJump",
        {
          "shinespark": {
            "frames": 75,
            "excessFrames": 16
          }
        }
      ]
    }
  ]
}
From: 3
Junction (Get Past Metroids, Left to Right)
To: 2
Right Door

At max run speed without SpeedBooster, you can bounce on both platforms and avoid all acid. Jump from the center of the rightmost X in the background. Bounce again on the second platform to avoid any Metroid or Rinkas.

Requires:

"h_canUseSpringBall"
"canSpringBallBounce"
"canCarefulJump"
{
  "or": [
    {
      "obstaclesCleared": [
        "A"
      ]
    },
    "canMetroidAvoid",
    "ScrewAttack",
    {
      "metroidFrames": 200
    }
  ]
}
From: 3
Junction (Get Past Metroids, Left to Right)
To: 2
Right Door

Freeze the middle Metroid as soon as it comes on screen to use as a platform to cross over the acid. If no Metroids are alive, the far left Rinka can be used instead, at a high angle. The left Rinka can also just be used to setup an angle with the Rinka near the left edge of the pool.

Requires:

"canTrickyUseFrozenEnemies"
"canTrickyJump"
"canCameraManip"
{
  "or": [
    "canInsaneJump",
    {
      "and": [
        {
          "not": "f_KilledMetroidRoom1"
        },
        {
          "obstaclesNotCleared": [
            "A"
          ]
        },
        "canRiskPermanentLossOfAccess"
      ]
    }
  ]
}
From: 3
Junction (Get Past Metroids, Left to Right)
To: 2
Right Door

Aim the leftmost Rinka to travel horizontally across the top of the room and use it to damage boost between the two floating platforms. Killing the Rinka will normalize it's respawn timer, which may help in setting up the correct angle. Let the Rinka stay far enough ahead of Samus that she can jump the full distance to the first platform without hitting it. And then once it has reached the right edge of the platform, use it to damage boost.

Requires:

{
  "notable": "Rinka Damage Boost"
}
{
  "enemyDamage": {
    "enemy": "Rinka",
    "type": "contact",
    "hits": 1
  }
}
"canTrickyJump"
"canHorizontalDamageBoost"
"canCameraManip"
{
  "or": [
    {
      "obstaclesCleared": [
        "A"
      ]
    },
    "canMetroidAvoid"
  ]
}
From: 3
Junction (Get Past Metroids, Left to Right)
To: 2
Right Door

Requires:

{
  "or": [
    {
      "and": [
        {
          "or": [
            "canWalljump",
            "HiJump"
          ]
        },
        {
          "acidFrames": 20
        }
      ]
    },
    {
      "and": [
        "Gravity",
        {
          "acidFrames": 10
        }
      ]
    }
  ]
}
{
  "or": [
    {
      "obstaclesCleared": [
        "A"
      ]
    },
    "Ice",
    "ScrewAttack",
    {
      "and": [
        "canPseudoScrew",
        "canDodgeWhileShooting"
      ]
    },
    "canMetroidAvoid",
    {
      "metroidFrames": 150
    }
  ]
}
From: 3
Junction (Get Past Metroids, Left to Right)
To: 2
Right Door

SpinJump often to reduce the amount of time spent in the acid.

Requires:

{
  "acidFrames": 65
}
{
  "or": [
    {
      "obstaclesCleared": [
        "A"
      ]
    },
    {
      "and": [
        "canMetroidAvoid",
        "canInsaneJump"
      ]
    },
    "ScrewAttack",
    {
      "and": [
        "canPseudoScrew",
        "canTrickyJump"
      ]
    },
    {
      "metroidFrames": 150
    }
  ]
}
{
  "or": [
    "canTrickyJump",
    {
      "enemyDamage": {
        "enemy": "Rinka",
        "type": "contact",
        "hits": 1
      }
    }
  ]
}
From: 3
Junction (Get Past Metroids, Left to Right)
To: 2
Right Door

Jump from the left platform and mid air morph to bounce through the lava quickly. This is only useful when morphing before reaching the ceiling.

Requires:

{
  "acidFrames": 50
}
"canBounceBall"
"canLateralMidAirMorph"
"can4HighMidAirMorph"
{
  "obstaclesCleared": [
    "A"
  ]
}
From: 3
Junction (Get Past Metroids, Left to Right)
To: 2
Right Door

Bomb Jump between the two floating platforms.

Requires:

{
  "or": [
    {
      "obstaclesCleared": [
        "A"
      ]
    },
    {
      "and": [
        "canCameraManip",
        "canMetroidAvoid"
      ]
    }
  ]
}
{
  "or": [
    {
      "and": [
        "canHBJ",
        "canResetFallSpeed"
      ]
    },
    {
      "and": [
        {
          "obstaclesCleared": [
            "A"
          ]
        },
        "canDiagonalBombJump"
      ]
    },
    "canCeilingBombJump"
  ]
}
From: 3
Junction (Get Past Metroids, Left to Right)
To: 2
Right Door

Requires:

{
  "or": [
    {
      "obstaclesCleared": [
        "A"
      ]
    },
    "canMetroidAvoid"
  ]
}
{
  "useFlashSuit": {}
}
{
  "shinespark": {
    "frames": 4,
    "excessFrames": 2
  }
}
From: 4
Junction (Get Past Metroids, Right to Left)
To: 1
Left Door

Requires:

"SpaceJump"
{
  "or": [
    {
      "obstaclesCleared": [
        "A"
      ]
    },
    "ScrewAttack",
    "canPseudoScrew",
    "Ice",
    "canMetroidAvoid",
    {
      "metroidFrames": 420
    }
  ]
}
From: 4
Junction (Get Past Metroids, Right to Left)
To: 1
Left Door

Requires:

"SpeedBooster"
"canCarefulJump"
{
  "or": [
    {
      "obstaclesCleared": [
        "A"
      ]
    },
    "Ice",
    "canMetroidAvoid",
    {
      "metroidFrames": 200
    }
  ]
}
{
  "or": [
    "canTrickyJump",
    {
      "acidFrames": 27
    },
    {
      "and": [
        {
          "acidFrames": 16
        },
        "canPreciseWalljump"
      ]
    },
    {
      "and": [
        {
          "acidFrames": 16
        },
        "Gravity"
      ]
    }
  ]
}
From: 4
Junction (Get Past Metroids, Right to Left)
To: 1
Left Door

At max non-speed run speed, Spring Ball bounce on both platforms and avoid all acid. Land on the right side of the first platform to avoid the second Metroid. Bouncing on the second platform will usually avoid the third Metroid.

Requires:

"canSpringBallBounce"
"canCarefulJump"
{
  "or": [
    {
      "obstaclesCleared": [
        "A"
      ]
    },
    {
      "and": [
        "canTrickyJump",
        "canMetroidAvoid"
      ]
    },
    {
      "metroidFrames": 270
    }
  ]
}
From: 4
Junction (Get Past Metroids, Right to Left)
To: 1
Left Door

Use the lower Rinka as a platform to setup the angle for the top Rinka. Then use the frozen Rinka to cross the acid.

Requires:

"canTrickyUseFrozenEnemies"
"canTrickyJump"
"canCameraManip"
From: 4
Junction (Get Past Metroids, Right to Left)
To: 1
Left Door

Aim the ceiling Rinka to travel horizontally across the top of the room and use it to damage boost between the two floating platforms. Killing the lower Rinka shortly before killing the higher Rinka will synchronize their respawn timers so that Samus can jump when the lower Rinka reappears in order to get a good angle on the higher Rinka. Jump to the floating platform ahead of the high Rinka, jumping extra high to lead the Metroid out of the way if it is alive. Jump into the Rinka once it reaches the left edge of the platform to reach the next platform. Then use i-frames to pass through the Metroid if it is still alive.

Requires:

{
  "notable": "Rinka Damage Boost"
}
{
  "enemyDamage": {
    "enemy": "Rinka",
    "type": "contact",
    "hits": 1
  }
}
"canTrickyJump"
"canHorizontalDamageBoost"
"canCameraManip"
{
  "or": [
    {
      "obstaclesCleared": [
        "A"
      ]
    },
    {
      "and": [
        "canMetroidAvoid",
        "canUseIFrames"
      ]
    }
  ]
}
{
  "or": [
    "canInsaneJump",
    {
      "enemyDamage": {
        "enemy": "Rinka",
        "type": "contact",
        "hits": 1
      }
    },
    {
      "and": [
        "canTrickyJump",
        "canLateralMidAirMorph"
      ]
    },
    {
      "and": [
        "Gravity",
        {
          "acidFrames": 16
        }
      ]
    },
    {
      "acidFrames": 27
    }
  ]
}
From: 4
Junction (Get Past Metroids, Right to Left)
To: 1
Left Door

Requires:

{
  "or": [
    {
      "and": [
        "canDelayedWalljump",
        {
          "acidFrames": 20
        }
      ]
    },
    {
      "and": [
        "HiJump",
        "canWalljump",
        {
          "acidFrames": 20
        }
      ]
    },
    {
      "and": [
        "Gravity",
        {
          "acidFrames": 10
        }
      ]
    }
  ]
}
{
  "or": [
    {
      "obstaclesCleared": [
        "A"
      ]
    },
    "Ice",
    "ScrewAttack",
    "canMetroidAvoid",
    {
      "and": [
        "canPseudoScrew",
        "canTrickyJump"
      ]
    },
    {
      "metroidFrames": 420
    }
  ]
}
{
  "or": [
    "canInsaneJump",
    {
      "and": [
        "canTrickyJump",
        "canLateralMidAirMorph"
      ]
    },
    {
      "and": [
        "canTrickyJump",
        "canPreciseWalljump",
        {
          "acidFrames": 16
        }
      ]
    },
    {
      "and": [
        "Gravity",
        {
          "acidFrames": 16
        }
      ]
    },
    {
      "acidFrames": 27
    }
  ]
}
From: 4
Junction (Get Past Metroids, Right to Left)
To: 1
Left Door

Requires:

{
  "acidFrames": 65
}
{
  "or": [
    {
      "obstaclesCleared": [
        "A"
      ]
    },
    "Ice",
    "ScrewAttack",
    {
      "and": [
        "canPseudoScrew",
        "canDodgeWhileShooting"
      ]
    },
    {
      "and": [
        "canInsaneJump",
        "canMetroidAvoid"
      ]
    },
    {
      "metroidFrames": 670
    }
  ]
}
From: 4
Junction (Get Past Metroids, Right to Left)
To: 1
Left Door

Requires:

"canBlueSpaceJump"
{
  "getBlueSpeed": {
    "usedTiles": 22,
    "openEnd": 1
  }
}
{
  "metroidFrames": 67
}
From: 4
Junction (Get Past Metroids, Right to Left)
To: 1
Left Door

Requires:

"canMidairShinespark"
{
  "canShineCharge": {
    "usedTiles": 23,
    "openEnd": 0
  }
}
{
  "shinespark": {
    "frames": 80,
    "excessFrames": 5
  }
}
{
  "or": [
    {
      "obstaclesCleared": [
        "A"
      ]
    },
    "Ice",
    "ScrewAttack",
    "canPseudoScrew",
    {
      "metroidFrames": 200
    }
  ]
}
From: 4
Junction (Get Past Metroids, Right to Left)
To: 1
Left Door

Bomb Jump between the two floating platforms.

Requires:

{
  "obstaclesCleared": [
    "A"
  ]
}
{
  "or": [
    "canCeilingBombJump",
    "canDiagonalBombJump"
  ]
}
From: 4
Junction (Get Past Metroids, Right to Left)
To: 1
Left Door

While on the first platform, perform a long jump to the left then diagonally spark low into the side of the next platform. This will put Samus into a position where the Metroid will swoop underneath her.

Requires:

"canMetroidAvoid"
{
  "useFlashSuit": {}
}
{
  "shinespark": {
    "frames": 8,
    "excessFrames": 1
  }
}
{
  "or": [
    "canInsaneJump",
    {
      "and": [
        "canTrickyJump",
        "canLateralMidAirMorph"
      ]
    },
    {
      "and": [
        "canTrickyJump",
        "canPreciseWalljump",
        {
          "acidFrames": 16
        }
      ]
    },
    {
      "and": [
        "Gravity",
        {
          "acidFrames": 16
        }
      ]
    },
    {
      "acidFrames": 27
    }
  ]
}
From: 4
Junction (Get Past Metroids, Right to Left)
To: 1
Left Door

Requires:

{
  "obstaclesCleared": [
    "A"
  ]
}
{
  "useFlashSuit": {}
}
{
  "shinespark": {
    "frames": 4,
    "excessFrames": 2
  }
}
{
  "or": [
    "canInsaneJump",
    {
      "and": [
        "canTrickyJump",
        "canLateralMidAirMorph"
      ]
    },
    {
      "and": [
        "canTrickyJump",
        "canPreciseWalljump",
        {
          "acidFrames": 16
        }
      ]
    },
    {
      "and": [
        "Gravity",
        {
          "acidFrames": 16
        }
      ]
    },
    {
      "acidFrames": 27
    }
  ]
}
From: 5
Junction (Metroid Kill Flag)
To: 2
Right Door

{
  "$schema": "../../../schema/m3-room.schema.json",
  "id": 226,
  "name": "Metroid Room 1",
  "area": "Tourian",
  "subarea": "Main",
  "roomAddress": "0x7DAE1",
  "roomEnvironments": [
    {
      "heated": false
    }
  ],
  "mapTileMask": [
    [
      1,
      1,
      1,
      1,
      1,
      1
    ]
  ],
  "nodes": [
    {
      "id": 1,
      "name": "Left Door",
      "nodeType": "door",
      "nodeSubType": "gray",
      "nodeAddress": "0x001a9b4",
      "doorOrientation": "left",
      "doorEnvironments": [
        {
          "physics": "air"
        }
      ],
      "locks": [
        {
          "name": "Metroid Room 1 Gray Lock (to Metroid Room 2)",
          "lockType": "killEnemies",
          "unlockStrats": [
            {
              "name": "Base",
              "requires": [
                {
                  "obstaclesCleared": [
                    "A"
                  ]
                }
              ]
            }
          ],
          "yields": [
            "f_KilledMetroidRoom1"
          ]
        }
      ],
      "mapTileMask": [
        [
          2,
          2,
          1,
          1,
          1,
          1
        ]
      ]
    },
    {
      "id": 2,
      "name": "Right Door",
      "nodeType": "door",
      "nodeSubType": "blue",
      "nodeAddress": "0x001a9a8",
      "doorOrientation": "right",
      "doorEnvironments": [
        {
          "physics": "air"
        }
      ],
      "mapTileMask": [
        [
          1,
          1,
          1,
          1,
          2,
          2
        ]
      ]
    },
    {
      "id": 3,
      "name": "Junction (Get Past Metroids, Left to Right)",
      "nodeType": "junction",
      "nodeSubType": "junction",
      "mapTileMask": [
        [
          1,
          1,
          2,
          2,
          1,
          1
        ]
      ],
      "note": "Getting to this node is to represent passing the metroids from the left, leaving it will indicate getting past the acid pit to the right."
    },
    {
      "id": 4,
      "name": "Junction (Get Past Metroids, Right to Left)",
      "nodeType": "junction",
      "nodeSubType": "junction",
      "mapTileMask": [
        [
          1,
          1,
          2,
          2,
          1,
          1
        ]
      ],
      "note": "Getting to this node is to represent passing the metroids from the right, leaving it will indicate getting past the acid pit to the left."
    },
    {
      "id": 5,
      "name": "Junction (Metroid Kill Flag)",
      "nodeType": "junction",
      "nodeSubType": "junction",
      "locks": [
        {
          "name": "Metroid Room 1 Logical Lock",
          "lockType": "killEnemies",
          "unlockStrats": [
            {
              "name": "Base",
              "requires": [
                {
                  "obstaclesCleared": [
                    "A"
                  ]
                }
              ]
            }
          ],
          "yields": [
            "f_KilledMetroidRoom1"
          ]
        }
      ],
      "mapTileMask": [
        [
          1,
          1,
          1,
          1,
          2,
          2
        ]
      ],
      "note": "Getting to this node means the Metroids have been killed."
    }
  ],
  "obstacles": [
    {
      "id": "A",
      "name": "Four Metroids",
      "obstacleType": "enemies"
    }
  ],
  "enemies": [
    {
      "id": "e1",
      "groupName": "Metroid Room 1 Left Metroids",
      "enemyName": "Metroid",
      "quantity": 2,
      "homeNodes": [
        1
      ],
      "stopSpawn": [
        "f_KilledMetroidRoom1"
      ]
    },
    {
      "id": "e2",
      "groupName": "Metroid Room 1 Right Metroid",
      "enemyName": "Metroid",
      "quantity": 1,
      "homeNodes": [
        2
      ],
      "stopSpawn": [
        "f_KilledMetroidRoom1"
      ]
    },
    {
      "id": "e3",
      "groupName": "Metroid Room 1 Middle Metroid",
      "enemyName": "Metroid",
      "quantity": 1,
      "homeNodes": [
        3
      ],
      "stopSpawn": [
        "f_KilledMetroidRoom1"
      ]
    },
    {
      "id": "e4",
      "groupName": "Metroid Room 1 Left Rinkas",
      "enemyName": "Rinka",
      "quantity": 1,
      "homeNodes": [
        1
      ]
    },
    {
      "id": "e5",
      "groupName": "Metroid Room 1 Right Rinkas",
      "enemyName": "Rinka",
      "quantity": 2,
      "homeNodes": [
        2
      ]
    }
  ],
  "links": [
    {
      "from": 1,
      "to": [
        {
          "id": 1
        },
        {
          "id": 2
        },
        {
          "id": 3,
          "note": "This node is to represent getting past the Metroids."
        }
      ]
    },
    {
      "from": 2,
      "to": [
        {
          "id": 1
        },
        {
          "id": 2
        },
        {
          "id": 4,
          "note": "This node is to represent getting past the Metroids."
        },
        {
          "id": 5
        }
      ]
    },
    {
      "from": 3,
      "to": [
        {
          "id": 2
        }
      ]
    },
    {
      "from": 4,
      "to": [
        {
          "id": 1
        }
      ]
    },
    {
      "from": 5,
      "to": [
        {
          "id": 2
        }
      ]
    }
  ],
  "strats": [
    {
      "id": 1,
      "link": [
        1,
        1
      ],
      "name": "Leave with Runway",
      "requires": [],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 3,
          "openEnd": 1
        }
      }
    },
    {
      "id": 2,
      "link": [
        1,
        1
      ],
      "name": "Leave With Runway - Frozen Rinka",
      "requires": [
        "h_canFrozenEnemyRunway"
      ],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 5,
          "openEnd": 0
        }
      },
      "note": [
        "Stand a bit more than a tile away from the ledge and wait for the Rinka to start moving.",
        "Freeze the Rinka at the correct height while maintainig a half-tile gap between the Rinka and the runway to extend it as much as possible."
      ]
    },
    {
      "id": 3,
      "link": [
        1,
        1
      ],
      "name": "Leave Shinecharged",
      "requires": [
        {
          "or": [
            "canMetroidAvoid",
            "Ice",
            "f_KilledMetroidRoom1"
          ]
        },
        "canShinechargeMovement",
        {
          "canShineCharge": {
            "usedTiles": 31,
            "openEnd": 1
          }
        },
        {
          "shineChargeFrames": 40
        }
      ],
      "exitCondition": {
        "leaveShinecharged": {}
      },
      "flashSuitChecked": true
    },
    {
      "id": 4,
      "link": [
        1,
        1
      ],
      "name": "Leave Spinning",
      "requires": [
        {
          "or": [
            "canMetroidAvoid",
            "Ice",
            "f_KilledMetroidRoom1"
          ]
        }
      ],
      "exitCondition": {
        "leaveSpinning": {
          "remoteRunway": {
            "length": 29,
            "openEnd": 1
          }
        }
      }
    },
    {
      "id": 5,
      "link": [
        1,
        1
      ],
      "name": "Leave With Mockball",
      "requires": [
        {
          "or": [
            "canMetroidAvoid",
            "Ice",
            "f_KilledMetroidRoom1"
          ]
        }
      ],
      "exitCondition": {
        "leaveWithMockball": {
          "remoteRunway": {
            "length": 28,
            "openEnd": 1
          },
          "landingRunway": {
            "length": 3,
            "openEnd": 1
          }
        }
      }
    },
    {
      "id": 6,
      "link": [
        1,
        1
      ],
      "name": "Leave With Spring Ball Bounce",
      "requires": [
        {
          "or": [
            "canMetroidAvoid",
            "Ice",
            "f_KilledMetroidRoom1"
          ]
        }
      ],
      "exitCondition": {
        "leaveWithSpringBallBounce": {
          "remoteRunway": {
            "length": 25,
            "openEnd": 1
          },
          "landingRunway": {
            "length": 3,
            "openEnd": 1
          },
          "movementType": "uncontrolled"
        }
      }
    },
    {
      "id": 7,
      "link": [
        1,
        1
      ],
      "name": "Leave Space Jumping",
      "requires": [
        {
          "or": [
            "canMetroidAvoid",
            "Ice",
            "f_KilledMetroidRoom1"
          ]
        }
      ],
      "exitCondition": {
        "leaveSpaceJumping": {
          "remoteRunway": {
            "length": 22,
            "openEnd": 0
          }
        }
      }
    },
    {
      "id": 8,
      "link": [
        1,
        1
      ],
      "name": "Leave With Temporary Blue",
      "requires": [
        {
          "or": [
            "canMetroidAvoid",
            "Ice",
            "f_KilledMetroidRoom1"
          ]
        },
        {
          "canShineCharge": {
            "usedTiles": 30,
            "openEnd": 1
          }
        },
        "canChainTemporaryBlue"
      ],
      "exitCondition": {
        "leaveWithTemporaryBlue": {}
      },
      "note": "If it not possible to freeze or kill the Metroids, then move quickly enough that they get stuck off-camera to the right, and gain the shinecharge in a position where Samus can angle up and shoot the Rinka while waiting for the shinecharge timer to run out."
    },
    {
      "id": 9,
      "link": [
        1,
        1
      ],
      "name": "Crystal Flash",
      "requires": [
        {
          "obstaclesCleared": [
            "A"
          ]
        },
        "h_canCrystalFlash"
      ],
      "flashSuitChecked": true,
      "note": [
        "Be sure to be at a safe distance from Rinkas before performing the Crystal Flash."
      ]
    },
    {
      "id": 10,
      "link": [
        1,
        1
      ],
      "name": "Tank and PB Kill",
      "requires": [
        {
          "enemyKill": {
            "enemies": [
              [
                "Metroid",
                "Metroid",
                "Metroid",
                "Metroid"
              ]
            ],
            "explicitWeapons": [
              "PowerBombPeriphery"
            ]
          }
        },
        {
          "or": [
            "canTrickyJump",
            {
              "ammo": {
                "type": "PowerBomb",
                "count": 2
              }
            }
          ]
        },
        {
          "metroidFrames": 330
        }
      ],
      "clearsObstacles": [
        "A"
      ],
      "note": [
        "Place Power Bombs to kill the Metroids.",
        "By hitting the first Rinka, all of the Metroids (on a similar vertical height to the Power Bomb) will be damaged."
      ],
      "devNote": "Using 1 pack of PBs isn't intuitive as a way to kill 4 metroids without grouping them."
    },
    {
      "id": 11,
      "link": [
        1,
        1
      ],
      "name": "PB Dodge Kill (Left to Right)",
      "requires": [
        {
          "enemyKill": {
            "enemies": [
              [
                "Metroid",
                "Metroid",
                "Metroid",
                "Metroid"
              ]
            ],
            "explicitWeapons": [
              "PowerBomb"
            ]
          }
        },
        "canMetroidAvoid",
        "canHitbox",
        {
          "or": [
            {
              "ammo": {
                "type": "PowerBomb",
                "count": 1
              }
            },
            "canInsaneJump",
            {
              "metroidFrames": 100
            }
          ]
        }
      ],
      "clearsObstacles": [
        "A"
      ],
      "note": [
        "Group all of the Metroids by hitting the first Rinka with a Power Bomb.",
        "Once grouped, use two more Power Bombs to finish them off."
      ]
    },
    {
      "id": 12,
      "link": [
        1,
        1
      ],
      "name": "G-Mode Setup - Get Hit By Rinka",
      "requires": [],
      "exitCondition": {
        "leaveWithGModeSetup": {}
      },
      "flashSuitChecked": true
    },
    {
      "id": 13,
      "link": [
        1,
        1
      ],
      "name": "G-Mode Regain Mobility",
      "requires": [
        {
          "enemyDamage": {
            "enemy": "Rinka",
            "type": "contact",
            "hits": 1
          }
        }
      ],
      "gModeRegainMobility": {},
      "flashSuitChecked": true
    },
    {
      "id": 14,
      "link": [
        1,
        1
      ],
      "name": "G-Mode Morph Power Bomb Metroid Kill",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": true
        }
      },
      "requires": [
        "canMetroidAvoid",
        "h_canArtificialMorphSpringBall",
        {
          "ammo": {
            "type": "PowerBomb",
            "count": 4
          }
        }
      ],
      "clearsObstacles": [
        "A"
      ],
      "flashSuitChecked": true,
      "note": [
        "Kill the Metroids while artificially morphed with just Spring Ball to avoid them.",
        "A Metroid (or a Rinka) must be completely on screen while a Power Bomb explodes in order for it to lure the other Metroids.",
        "Because of this, with extra ammo, it is possible to kill one or two of them before luring the rest.",
        "In general, this seems to be easiest by minimizing Samus's horizontal movement as much as possible and getting the Metroids in sync with each other while circling around her.",
        "While moving horizontally, their movement is less predictable and harder to sync.",
        "Note that it is necessary to exit G-Mode before exiting the room in order for the Metroids to remain killed."
      ],
      "devNote": "It is occasionally possible with just 3 Power Bombs, which doesn't make sense since the first one doesn't hit all of the Metroids."
    },
    {
      "id": 15,
      "link": [
        1,
        2
      ],
      "name": "Shinespark Midair",
      "entranceCondition": {
        "comeInWithSpark": {}
      },
      "requires": [
        "canMidairShinespark",
        {
          "shinespark": {
            "frames": 112,
            "excessFrames": 16
          }
        }
      ],
      "note": "Spark through the top of the door to avoid the platforms.",
      "devNote": "FIXME: Add strats that come in charged and spark to save energy."
    },
    {
      "id": 16,
      "link": [
        1,
        2
      ],
      "name": "Acid Skip CWJ",
      "requires": [
        {
          "notable": "Acid Skip CWJ"
        },
        "canCWJ",
        "canInsaneWalljump",
        {
          "or": [
            {
              "obstaclesCleared": [
                "A"
              ]
            },
            "canDodgeWhileShooting"
          ]
        }
      ],
      "note": [
        "Align with the wall below the door while facing left.",
        "Hold dash, turn around, start running and arm pump once.",
        "Jump from the rightmost 'X' in the background.",
        "Release forward at some point while airborne, but repress it again before the CWJ.",
        "Immediately after the CWJ, shoot the Metroid to avoid getting grabbed."
      ]
    },
    {
      "id": 17,
      "link": [
        1,
        2
      ],
      "name": "Blue SpaceJump",
      "requires": [
        "canBlueSpaceJump",
        {
          "getBlueSpeed": {
            "usedTiles": 31,
            "openEnd": 1
          }
        }
      ]
    },
    {
      "id": 18,
      "link": [
        1,
        2
      ],
      "name": "Blue SpaceJump, Into the Room",
      "entranceCondition": {
        "comeInGettingBlueSpeed": {
          "length": 1,
          "openEnd": 1
        }
      },
      "requires": [
        "canBlueSpaceJump",
        "canCarefulJump"
      ],
      "note": "Jump Immediately upon entry, or before the transition.",
      "devNote": "There is 1 unusable tile in this runway."
    },
    {
      "id": 19,
      "link": [
        1,
        2
      ],
      "name": "G-mode Morph Ceiling Bomb Jump",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": true
        }
      },
      "requires": [
        "f_KilledMetroidRoom1",
        "h_canArtificialMorphLongCeilingBombJump",
        "canBePatient"
      ],
      "flashSuitChecked": true
    },
    {
      "id": 20,
      "link": [
        1,
        2
      ],
      "name": "Leave Spinning (Space Jump)",
      "requires": [
        {
          "or": [
            "canMetroidAvoid",
            "Ice",
            "f_KilledMetroidRoom1"
          ]
        },
        "canTrickyJump",
        "SpaceJump"
      ],
      "exitCondition": {
        "leaveSpinning": {
          "remoteRunway": {
            "length": 31,
            "openEnd": 1
          }
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ],
      "devNote": [
        "FIXME: Blue speed can be used to protect against metroid damage, in the canMetroidAvoid case;",
        "but could there be a scenario where having blue speed is incompatible for what is needed in the next room?",
        "We made the 'blue' property for this kind of thing; the trouble is that the entrance conditions are written for either blue or not-blue, not either."
      ]
    },
    {
      "id": 21,
      "link": [
        1,
        2
      ],
      "name": "Leave With Mockball (Space Jump)",
      "requires": [
        {
          "or": [
            "canMetroidAvoid",
            "Ice",
            "f_KilledMetroidRoom1"
          ]
        },
        "canPreciseSpaceJump"
      ],
      "exitCondition": {
        "leaveWithMockball": {
          "remoteRunway": {
            "length": 31,
            "openEnd": 1
          },
          "landingRunway": {
            "length": 3,
            "openEnd": 1
          }
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ]
    },
    {
      "id": 22,
      "link": [
        1,
        2
      ],
      "name": "Leave With Spring Ball Bounce (Space Jump)",
      "requires": [
        {
          "or": [
            "canMetroidAvoid",
            "Ice",
            "f_KilledMetroidRoom1"
          ]
        },
        "canTrickyJump",
        "canPreciseSpaceJump"
      ],
      "exitCondition": {
        "leaveWithSpringBallBounce": {
          "remoteRunway": {
            "length": 31,
            "openEnd": 1
          },
          "landingRunway": {
            "length": 3,
            "openEnd": 1
          },
          "movementType": "uncontrolled"
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ]
    },
    {
      "id": 23,
      "link": [
        1,
        2
      ],
      "name": "Leave With Controlled Spring Ball Bounce",
      "requires": [
        {
          "or": [
            "canMetroidAvoid",
            "Ice",
            "f_KilledMetroidRoom1"
          ]
        },
        "canTrickySpringBallBounce"
      ],
      "exitCondition": {
        "leaveWithSpringBallBounce": {
          "remoteRunway": {
            "length": 31,
            "openEnd": 1
          },
          "landingRunway": {
            "length": 3,
            "openEnd": 1
          },
          "minExtraRunSpeed": "$1.3",
          "movementType": "controlled"
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ]
    },
    {
      "id": 24,
      "link": [
        1,
        2
      ],
      "name": "Leave Space Jumping",
      "requires": [
        {
          "or": [
            "canMetroidAvoid",
            "Ice",
            "f_KilledMetroidRoom1"
          ]
        },
        "canPreciseSpaceJump"
      ],
      "exitCondition": {
        "leaveSpaceJumping": {
          "remoteRunway": {
            "length": 31,
            "openEnd": 1
          }
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ]
    },
    {
      "id": 25,
      "link": [
        1,
        3
      ],
      "name": "Base",
      "requires": []
    },
    {
      "id": 26,
      "link": [
        1,
        3
      ],
      "name": "Already Cleared",
      "requires": [
        {
          "or": [
            "f_KilledMetroidRoom1",
            {
              "obstaclesCleared": [
                "A"
              ]
            }
          ]
        }
      ],
      "clearsObstacles": [
        "A"
      ]
    },
    {
      "id": 27,
      "link": [
        1,
        3
      ],
      "name": "Ammo Kill",
      "requires": [
        "Ice",
        {
          "enemyKill": {
            "enemies": [
              [
                "Metroid",
                "Metroid",
                "Metroid",
                "Metroid"
              ]
            ],
            "explicitWeapons": [
              "Super",
              "Missile"
            ]
          }
        }
      ],
      "clearsObstacles": [
        "A"
      ]
    },
    {
      "id": 28,
      "link": [
        2,
        1
      ],
      "name": "Shinespark Midair",
      "entranceCondition": {
        "comeInWithSpark": {}
      },
      "requires": [
        "canMidairShinespark",
        {
          "shinespark": {
            "frames": 112,
            "excessFrames": 35
          }
        }
      ],
      "note": "Spark through the top of the door to avoid the platforms.",
      "devNote": "FIXME: Add strats that come in charged and spark to save energy."
    },
    {
      "id": 29,
      "link": [
        2,
        1
      ],
      "name": "Blue SpaceJump, Into the Room",
      "entranceCondition": {
        "comeInGettingBlueSpeed": {
          "length": 1,
          "openEnd": 1
        }
      },
      "requires": [
        "canBlueSpaceJump",
        "canCarefulJump"
      ],
      "note": "Jump Immediately upon entry, or before the transition.",
      "devNote": "There is 1 unusable tile in this runway."
    },
    {
      "id": 30,
      "link": [
        2,
        1
      ],
      "name": "G-mode Morph Ceiling Bomb Jump",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": true
        }
      },
      "requires": [
        "f_KilledMetroidRoom1",
        "h_canArtificialMorphCeilingBombJump"
      ],
      "flashSuitChecked": true
    },
    {
      "id": 31,
      "link": [
        2,
        1
      ],
      "name": "Grapple Teleport",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              7,
              2
            ]
          ]
        }
      },
      "requires": []
    },
    {
      "id": 32,
      "link": [
        2,
        1
      ],
      "name": "Grapple Teleport Door Lock Skip",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              12
            ],
            [
              3,
              13
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true
    },
    {
      "id": 33,
      "link": [
        2,
        1
      ],
      "name": "Carry Grapple Teleport (Top Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              12
            ]
          ]
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              12
            ]
          ]
        }
      },
      "bypassesDoorShell": true
    },
    {
      "id": 34,
      "link": [
        2,
        1
      ],
      "name": "Carry Grapple Teleport (Bottom Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              13
            ]
          ]
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              13
            ]
          ]
        }
      },
      "bypassesDoorShell": true
    },
    {
      "id": 35,
      "link": [
        2,
        2
      ],
      "name": "Leave with Runway",
      "requires": [],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 3,
          "openEnd": 1
        }
      }
    },
    {
      "id": 36,
      "link": [
        2,
        2
      ],
      "name": "Leave With Runway - Frozen Rinka or Metroid",
      "requires": [
        {
          "or": [
            "h_canTrickyFrozenEnemyRunway",
            {
              "and": [
                "h_canFrozenEnemyRunway",
                {
                  "not": "f_KilledMetroidRoom1"
                },
                "canRiskPermanentLossOfAccess"
              ]
            }
          ]
        }
      ],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 4,
          "openEnd": 1
        }
      },
      "note": [
        "Use a frozen Metroid or a Rinka from the left to extend the length of the runway.",
        "Luring a Rinka is easiest with Morph - While morphed, barely move the bottom Rinka spawner on camera in order to have it shoot at a usable angle.",
        "Without Morph, use the top Rinka spawner and jump just before the Rinka starts moving to get a usable angle."
      ]
    },
    {
      "id": 37,
      "link": [
        2,
        2
      ],
      "name": "Leave Shinecharged",
      "requires": [
        {
          "or": [
            "canMetroidAvoid",
            "Ice",
            "f_KilledMetroidRoom1"
          ]
        },
        "canShinechargeMovement",
        {
          "canShineCharge": {
            "usedTiles": 23,
            "openEnd": 1
          }
        },
        {
          "shineChargeFrames": 40
        }
      ],
      "exitCondition": {
        "leaveShinecharged": {}
      },
      "flashSuitChecked": true
    },
    {
      "id": 38,
      "link": [
        2,
        2
      ],
      "name": "Leave Spinning",
      "requires": [
        {
          "or": [
            "canMetroidAvoid",
            "Ice",
            "f_KilledMetroidRoom1"
          ]
        }
      ],
      "exitCondition": {
        "leaveSpinning": {
          "remoteRunway": {
            "length": 21,
            "openEnd": 1
          }
        }
      }
    },
    {
      "id": 39,
      "link": [
        2,
        2
      ],
      "name": "Leave With Mockball",
      "requires": [
        {
          "or": [
            "canMetroidAvoid",
            "Ice",
            "f_KilledMetroidRoom1"
          ]
        }
      ],
      "exitCondition": {
        "leaveWithMockball": {
          "remoteRunway": {
            "length": 21,
            "openEnd": 0
          },
          "landingRunway": {
            "length": 3,
            "openEnd": 1
          }
        }
      }
    },
    {
      "id": 40,
      "link": [
        2,
        2
      ],
      "name": "Leave With Spring Ball Bounce",
      "requires": [
        {
          "or": [
            "canMetroidAvoid",
            "Ice",
            "f_KilledMetroidRoom1"
          ]
        }
      ],
      "exitCondition": {
        "leaveWithSpringBallBounce": {
          "remoteRunway": {
            "length": 18,
            "openEnd": 0
          },
          "landingRunway": {
            "length": 1,
            "openEnd": 1
          },
          "movementType": "uncontrolled"
        }
      }
    },
    {
      "id": 41,
      "link": [
        2,
        2
      ],
      "name": "Leave Space Jumping",
      "requires": [
        {
          "or": [
            "canMetroidAvoid",
            "Ice",
            "f_KilledMetroidRoom1"
          ]
        }
      ],
      "exitCondition": {
        "leaveSpaceJumping": {
          "remoteRunway": {
            "length": 15,
            "openEnd": 0
          }
        }
      }
    },
    {
      "id": 42,
      "link": [
        2,
        2
      ],
      "name": "Leave With Temporary Blue",
      "requires": [
        {
          "or": [
            "canMetroidAvoid",
            "Ice",
            "f_KilledMetroidRoom1"
          ]
        },
        {
          "canShineCharge": {
            "usedTiles": 22,
            "openEnd": 0
          }
        },
        "canChainTemporaryBlue"
      ],
      "exitCondition": {
        "leaveWithTemporaryBlue": {}
      }
    },
    {
      "id": 43,
      "link": [
        2,
        2
      ],
      "name": "Crystal Flash",
      "requires": [
        "h_canCrystalFlash"
      ],
      "flashSuitChecked": true
    },
    {
      "id": 44,
      "link": [
        2,
        2
      ],
      "name": "Tank and PB Kill",
      "requires": [
        {
          "enemyKill": {
            "enemies": [
              [
                "Metroid",
                "Metroid",
                "Metroid",
                "Metroid"
              ]
            ],
            "explicitWeapons": [
              "PowerBombPeriphery"
            ]
          }
        },
        {
          "or": [
            "canTrickyJump",
            {
              "ammo": {
                "type": "PowerBomb",
                "count": 2
              }
            }
          ]
        },
        {
          "metroidFrames": 170
        }
      ],
      "clearsObstacles": [
        "A"
      ],
      "note": [
        "Place Power Bombs to kill the Metroids.",
        "By hitting the first Rinka, all of the Metroids (on a similar vertical height to the Power Bomb) will be damaged."
      ],
      "devNote": "Using 1 pack of PBs isn't intuitive as a way to kill 4 metroids without grouping them."
    },
    {
      "id": 45,
      "link": [
        2,
        2
      ],
      "name": "Power Bomb Dodge Kill (Right to Left)",
      "requires": [
        {
          "notable": "Power Bomb Dodge Kill (Right to Left)"
        },
        {
          "enemyKill": {
            "enemies": [
              [
                "Metroid",
                "Metroid",
                "Metroid",
                "Metroid"
              ]
            ],
            "explicitWeapons": [
              "PowerBomb"
            ]
          }
        },
        "canMetroidAvoid"
      ],
      "clearsObstacles": [
        "A"
      ],
      "note": [
        "Group all of the Metroids by hitting the first Rinka with a Power Bomb.",
        "Once grouped, use two more Power Bombs to finish them off."
      ]
    },
    {
      "id": 46,
      "link": [
        2,
        2
      ],
      "name": "G-Mode Setup - Get Hit By Rinka",
      "requires": [
        {
          "or": [
            "canTrickyJump",
            "SpaceJump"
          ]
        },
        {
          "or": [
            "canMetroidAvoid",
            "canUseFrozenEnemies",
            "ScrewAttack",
            "f_KilledMetroidRoom1"
          ]
        }
      ],
      "exitCondition": {
        "leaveWithGModeSetup": {}
      },
      "flashSuitChecked": true,
      "note": [
        "Wait for the Rinka to spawn, then jump, so the trajectory is as high as possible. Space jump makes this a bit easier.",
        "If the Metroids are alive, lure them off screen to the left."
      ]
    },
    {
      "id": 47,
      "link": [
        2,
        2
      ],
      "name": "G-Mode Setup - Get Hit By Metroid",
      "requires": [
        {
          "not": "f_KilledMetroidRoom1"
        },
        "canRiskPermanentLossOfAccess"
      ],
      "exitCondition": {
        "leaveWithGModeSetup": {
          "knockback": false
        }
      },
      "flashSuitChecked": true
    },
    {
      "id": 48,
      "link": [
        2,
        2
      ],
      "name": "G-Mode Morph Power Bomb Metroid Kill",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": true
        }
      },
      "requires": [
        "canMetroidAvoid",
        "h_canArtificialMorphSpringBall",
        {
          "ammo": {
            "type": "PowerBomb",
            "count": 4
          }
        }
      ],
      "clearsObstacles": [
        "A"
      ],
      "flashSuitChecked": true,
      "note": [
        "Kill the Metroids while artificially morphed with just Spring Ball to avoid them.",
        "A Metroid (or a Rinka) must be completely on screen while a Power Bomb explodes in order for it to lure the other Metroids.",
        "Because of this, with extra ammo, it is possible to kill one of them before luring the rest.",
        "In general, this seems to be easiest by minimizing Samus's horizontal movement as much as possible and getting the Metroids in sync with each other while circling around her.",
        "While moving horizontally, their movement is less predictable and harder to sync.",
        "Note that it is necessary to exit G-Mode before exiting the room in order for the Metroids to remain killed."
      ],
      "devNote": "It is occasionally possible with just 3 Power Bombs, which doesn't make sense since the first one doesn't hit all of the Metroids."
    },
    {
      "id": 49,
      "link": [
        2,
        4
      ],
      "name": "Base",
      "requires": []
    },
    {
      "id": 50,
      "link": [
        2,
        4
      ],
      "name": "Already Cleared",
      "requires": [
        {
          "or": [
            {
              "obstaclesCleared": [
                "A"
              ]
            },
            "f_KilledMetroidRoom1"
          ]
        }
      ],
      "clearsObstacles": [
        "A"
      ]
    },
    {
      "id": 51,
      "link": [
        2,
        4
      ],
      "name": "Ammo Kill",
      "requires": [
        "Ice",
        {
          "enemyKill": {
            "enemies": [
              [
                "Metroid",
                "Metroid",
                "Metroid",
                "Metroid"
              ]
            ],
            "explicitWeapons": [
              "Super",
              "Missile"
            ]
          }
        }
      ],
      "clearsObstacles": [
        "A"
      ]
    },
    {
      "id": 52,
      "link": [
        2,
        5
      ],
      "name": "Aquire Metroids Killed Flag",
      "requires": [
        {
          "obstaclesCleared": [
            "A"
          ]
        }
      ]
    },
    {
      "id": 53,
      "link": [
        3,
        2
      ],
      "name": "Space Jump",
      "requires": [
        "SpaceJump",
        {
          "or": [
            {
              "obstaclesCleared": [
                "A"
              ]
            },
            "Ice",
            "ScrewAttack",
            "canPseudoScrew",
            "canMetroidAvoid",
            {
              "metroidFrames": 270
            }
          ]
        }
      ]
    },
    {
      "id": 54,
      "link": [
        3,
        2
      ],
      "name": "Speedjump",
      "requires": [
        {
          "getBlueSpeed": {
            "usedTiles": 31,
            "openEnd": 1
          }
        },
        "canCarefulJump",
        {
          "or": [
            {
              "obstaclesCleared": [
                "A"
              ]
            },
            "Ice",
            "ScrewAttack",
            "canPseudoScrew",
            "canMetroidAvoid",
            {
              "metroidFrames": 130
            }
          ]
        }
      ],
      "note": "Use the full runway to gain blue speed and enough speed to reach the far platform."
    },
    {
      "id": 55,
      "link": [
        3,
        2
      ],
      "name": "Shinespark Midair",
      "requires": [
        "canMidairShinespark",
        {
          "canShineCharge": {
            "usedTiles": 31,
            "openEnd": 0
          }
        },
        {
          "or": [
            {
              "and": [
                {
                  "obstaclesCleared": [
                    "A"
                  ]
                },
                {
                  "shinespark": {
                    "frames": 54
                  }
                }
              ]
            },
            {
              "and": [
                "HiJump",
                {
                  "shinespark": {
                    "frames": 54
                  }
                }
              ]
            },
            {
              "and": [
                {
                  "metroidFrames": 300
                },
                {
                  "shinespark": {
                    "frames": 54
                  }
                }
              ]
            },
            {
              "and": [
                "canTrickyJump",
                {
                  "shinespark": {
                    "frames": 75,
                    "excessFrames": 16
                  }
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "id": 56,
      "link": [
        3,
        2
      ],
      "name": "Spring Ball Bounce (Left to Right)",
      "requires": [
        "h_canUseSpringBall",
        "canSpringBallBounce",
        "canCarefulJump",
        {
          "or": [
            {
              "obstaclesCleared": [
                "A"
              ]
            },
            "canMetroidAvoid",
            "ScrewAttack",
            {
              "metroidFrames": 200
            }
          ]
        }
      ],
      "note": [
        "At max run speed without SpeedBooster, you can bounce on both platforms and avoid all acid.",
        "Jump from the center of the rightmost X in the background.",
        "Bounce again on the second platform to avoid any Metroid or Rinkas."
      ],
      "devNote": "Just doing the strat avoids almost all damage, so Screw attack and metroidframes values are mostly artificial."
    },
    {
      "id": 57,
      "link": [
        3,
        2
      ],
      "name": "Frozen Enemy (Left to Right)",
      "requires": [
        "canTrickyUseFrozenEnemies",
        "canTrickyJump",
        "canCameraManip",
        {
          "or": [
            "canInsaneJump",
            {
              "and": [
                {
                  "not": "f_KilledMetroidRoom1"
                },
                {
                  "obstaclesNotCleared": [
                    "A"
                  ]
                },
                "canRiskPermanentLossOfAccess"
              ]
            }
          ]
        }
      ],
      "note": [
        "Freeze the middle Metroid as soon as it comes on screen to use as a platform to cross over the acid.",
        "If no Metroids are alive, the far left Rinka can be used instead, at a high angle.",
        "The left Rinka can also just be used to setup an angle with the Rinka near the left edge of the pool."
      ]
    },
    {
      "id": 58,
      "link": [
        3,
        2
      ],
      "name": "Rinka Damage Boost (Left to Right)",
      "requires": [
        {
          "notable": "Rinka Damage Boost"
        },
        {
          "enemyDamage": {
            "enemy": "Rinka",
            "type": "contact",
            "hits": 1
          }
        },
        "canTrickyJump",
        "canHorizontalDamageBoost",
        "canCameraManip",
        {
          "or": [
            {
              "obstaclesCleared": [
                "A"
              ]
            },
            "canMetroidAvoid"
          ]
        }
      ],
      "note": [
        "Aim the leftmost Rinka to travel horizontally across the top of the room and use it to damage boost between the two floating platforms.",
        "Killing the Rinka will normalize it's respawn timer, which may help in setting up the correct angle.",
        "Let the Rinka stay far enough ahead of Samus that she can jump the full distance to the first platform without hitting it.",
        "And then once it has reached the right edge of the platform, use it to damage boost."
      ]
    },
    {
      "id": 59,
      "link": [
        3,
        2
      ],
      "name": "Fearless Dive",
      "requires": [
        {
          "or": [
            {
              "and": [
                {
                  "or": [
                    "canWalljump",
                    "HiJump"
                  ]
                },
                {
                  "acidFrames": 20
                }
              ]
            },
            {
              "and": [
                "Gravity",
                {
                  "acidFrames": 10
                }
              ]
            }
          ]
        },
        {
          "or": [
            {
              "obstaclesCleared": [
                "A"
              ]
            },
            "Ice",
            "ScrewAttack",
            {
              "and": [
                "canPseudoScrew",
                "canDodgeWhileShooting"
              ]
            },
            "canMetroidAvoid",
            {
              "metroidFrames": 150
            }
          ]
        }
      ]
    },
    {
      "id": 60,
      "link": [
        3,
        2
      ],
      "name": "Acid Run",
      "requires": [
        {
          "acidFrames": 65
        },
        {
          "or": [
            {
              "obstaclesCleared": [
                "A"
              ]
            },
            {
              "and": [
                "canMetroidAvoid",
                "canInsaneJump"
              ]
            },
            "ScrewAttack",
            {
              "and": [
                "canPseudoScrew",
                "canTrickyJump"
              ]
            },
            {
              "metroidFrames": 150
            }
          ]
        },
        {
          "or": [
            "canTrickyJump",
            {
              "enemyDamage": {
                "enemy": "Rinka",
                "type": "contact",
                "hits": 1
              }
            }
          ]
        }
      ],
      "note": "SpinJump often to reduce the amount of time spent in the acid."
    },
    {
      "id": 61,
      "link": [
        3,
        2
      ],
      "name": "Acid Bounce Ball",
      "requires": [
        {
          "acidFrames": 50
        },
        "canBounceBall",
        "canLateralMidAirMorph",
        "can4HighMidAirMorph",
        {
          "obstaclesCleared": [
            "A"
          ]
        }
      ],
      "note": [
        "Jump from the left platform and mid air morph to bounce through the lava quickly.",
        "This is only useful when morphing before reaching the ceiling."
      ],
      "devNote": "Freezing a Metroid while exiting the acid is difficult but manageable."
    },
    {
      "id": 62,
      "link": [
        3,
        2
      ],
      "name": "Bomb Jump",
      "requires": [
        {
          "or": [
            {
              "obstaclesCleared": [
                "A"
              ]
            },
            {
              "and": [
                "canCameraManip",
                "canMetroidAvoid"
              ]
            }
          ]
        },
        {
          "or": [
            {
              "and": [
                "canHBJ",
                "canResetFallSpeed"
              ]
            },
            {
              "and": [
                {
                  "obstaclesCleared": [
                    "A"
                  ]
                },
                "canDiagonalBombJump"
              ]
            },
            "canCeilingBombJump"
          ]
        }
      ],
      "note": "Bomb Jump between the two floating platforms."
    },
    {
      "id": 74,
      "link": [
        3,
        2
      ],
      "name": "Use Flash Suit",
      "requires": [
        {
          "or": [
            {
              "obstaclesCleared": [
                "A"
              ]
            },
            "canMetroidAvoid"
          ]
        },
        {
          "useFlashSuit": {}
        },
        {
          "shinespark": {
            "frames": 4,
            "excessFrames": 2
          }
        }
      ],
      "flashSuitChecked": true
    },
    {
      "id": 63,
      "link": [
        4,
        1
      ],
      "name": "Space Jump",
      "requires": [
        "SpaceJump",
        {
          "or": [
            {
              "obstaclesCleared": [
                "A"
              ]
            },
            "ScrewAttack",
            "canPseudoScrew",
            "Ice",
            "canMetroidAvoid",
            {
              "metroidFrames": 420
            }
          ]
        }
      ]
    },
    {
      "id": 64,
      "link": [
        4,
        1
      ],
      "name": "Speedjump",
      "requires": [
        "SpeedBooster",
        "canCarefulJump",
        {
          "or": [
            {
              "obstaclesCleared": [
                "A"
              ]
            },
            "Ice",
            "canMetroidAvoid",
            {
              "metroidFrames": 200
            }
          ]
        },
        {
          "or": [
            "canTrickyJump",
            {
              "acidFrames": 27
            },
            {
              "and": [
                {
                  "acidFrames": 16
                },
                "canPreciseWalljump"
              ]
            },
            {
              "and": [
                {
                  "acidFrames": 16
                },
                "Gravity"
              ]
            }
          ]
        }
      ]
    },
    {
      "id": 65,
      "link": [
        4,
        1
      ],
      "name": "Spring Ball Bounce (Right to Left)",
      "requires": [
        "canSpringBallBounce",
        "canCarefulJump",
        {
          "or": [
            {
              "obstaclesCleared": [
                "A"
              ]
            },
            {
              "and": [
                "canTrickyJump",
                "canMetroidAvoid"
              ]
            },
            {
              "metroidFrames": 270
            }
          ]
        }
      ],
      "note": [
        "At max non-speed run speed, Spring Ball bounce on both platforms and avoid all acid.",
        "Land on the right side of the first platform to avoid the second Metroid.",
        "Bouncing on the second platform will usually avoid the third Metroid."
      ]
    },
    {
      "id": 66,
      "link": [
        4,
        1
      ],
      "name": "Frozen Rinka (Right to Left)",
      "requires": [
        "canTrickyUseFrozenEnemies",
        "canTrickyJump",
        "canCameraManip"
      ],
      "note": [
        "Use the lower Rinka as a platform to setup the angle for the top Rinka.",
        "Then use the frozen Rinka to cross the acid."
      ]
    },
    {
      "id": 67,
      "link": [
        4,
        1
      ],
      "name": "Rinka Damage Boost (Right to Left)",
      "requires": [
        {
          "notable": "Rinka Damage Boost"
        },
        {
          "enemyDamage": {
            "enemy": "Rinka",
            "type": "contact",
            "hits": 1
          }
        },
        "canTrickyJump",
        "canHorizontalDamageBoost",
        "canCameraManip",
        {
          "or": [
            {
              "obstaclesCleared": [
                "A"
              ]
            },
            {
              "and": [
                "canMetroidAvoid",
                "canUseIFrames"
              ]
            }
          ]
        },
        {
          "or": [
            "canInsaneJump",
            {
              "enemyDamage": {
                "enemy": "Rinka",
                "type": "contact",
                "hits": 1
              }
            },
            {
              "and": [
                "canTrickyJump",
                "canLateralMidAirMorph"
              ]
            },
            {
              "and": [
                "Gravity",
                {
                  "acidFrames": 16
                }
              ]
            },
            {
              "acidFrames": 27
            }
          ]
        }
      ],
      "note": [
        "Aim the ceiling Rinka to travel horizontally across the top of the room and use it to damage boost between the two floating platforms.",
        "Killing the lower Rinka shortly before killing the higher Rinka will synchronize their respawn timers so that Samus can jump when the lower Rinka reappears in order to get a good angle on the higher Rinka.",
        "Jump to the floating platform ahead of the high Rinka, jumping extra high to lead the Metroid out of the way if it is alive.",
        "Jump into the Rinka once it reaches the left edge of the platform to reach the next platform.",
        "Then use i-frames to pass through the Metroid if it is still alive."
      ]
    },
    {
      "id": 68,
      "link": [
        4,
        1
      ],
      "name": "Fearless Dive",
      "requires": [
        {
          "or": [
            {
              "and": [
                "canDelayedWalljump",
                {
                  "acidFrames": 20
                }
              ]
            },
            {
              "and": [
                "HiJump",
                "canWalljump",
                {
                  "acidFrames": 20
                }
              ]
            },
            {
              "and": [
                "Gravity",
                {
                  "acidFrames": 10
                }
              ]
            }
          ]
        },
        {
          "or": [
            {
              "obstaclesCleared": [
                "A"
              ]
            },
            "Ice",
            "ScrewAttack",
            "canMetroidAvoid",
            {
              "and": [
                "canPseudoScrew",
                "canTrickyJump"
              ]
            },
            {
              "metroidFrames": 420
            }
          ]
        },
        {
          "or": [
            "canInsaneJump",
            {
              "and": [
                "canTrickyJump",
                "canLateralMidAirMorph"
              ]
            },
            {
              "and": [
                "canTrickyJump",
                "canPreciseWalljump",
                {
                  "acidFrames": 16
                }
              ]
            },
            {
              "and": [
                "Gravity",
                {
                  "acidFrames": 16
                }
              ]
            },
            {
              "acidFrames": 27
            }
          ]
        }
      ],
      "devNote": [
        "1) Jump from the acid to the floating platform.",
        "2) Deal with the Metroid.",
        "3) Jump from the platform to the ledge, potentially falling in acid."
      ]
    },
    {
      "id": 69,
      "link": [
        4,
        1
      ],
      "name": "Acid Run",
      "requires": [
        {
          "acidFrames": 65
        },
        {
          "or": [
            {
              "obstaclesCleared": [
                "A"
              ]
            },
            "Ice",
            "ScrewAttack",
            {
              "and": [
                "canPseudoScrew",
                "canDodgeWhileShooting"
              ]
            },
            {
              "and": [
                "canInsaneJump",
                "canMetroidAvoid"
              ]
            },
            {
              "metroidFrames": 670
            }
          ]
        }
      ]
    },
    {
      "id": 70,
      "link": [
        4,
        1
      ],
      "name": "Blue SpaceJump",
      "requires": [
        "canBlueSpaceJump",
        {
          "getBlueSpeed": {
            "usedTiles": 22,
            "openEnd": 1
          }
        },
        {
          "metroidFrames": 67
        }
      ]
    },
    {
      "id": 71,
      "link": [
        4,
        1
      ],
      "name": "Shinespark Midair",
      "requires": [
        "canMidairShinespark",
        {
          "canShineCharge": {
            "usedTiles": 23,
            "openEnd": 0
          }
        },
        {
          "shinespark": {
            "frames": 80,
            "excessFrames": 5
          }
        },
        {
          "or": [
            {
              "obstaclesCleared": [
                "A"
              ]
            },
            "Ice",
            "ScrewAttack",
            "canPseudoScrew",
            {
              "metroidFrames": 200
            }
          ]
        }
      ]
    },
    {
      "id": 72,
      "link": [
        4,
        1
      ],
      "name": "Infinite Bomb Jump",
      "requires": [
        {
          "obstaclesCleared": [
            "A"
          ]
        },
        {
          "or": [
            "canCeilingBombJump",
            "canDiagonalBombJump"
          ]
        }
      ],
      "note": "Bomb Jump between the two floating platforms."
    },
    {
      "id": 75,
      "link": [
        4,
        1
      ],
      "name": "Use Flash Suit",
      "requires": [
        "canMetroidAvoid",
        {
          "useFlashSuit": {}
        },
        {
          "shinespark": {
            "frames": 8,
            "excessFrames": 1
          }
        },
        {
          "or": [
            "canInsaneJump",
            {
              "and": [
                "canTrickyJump",
                "canLateralMidAirMorph"
              ]
            },
            {
              "and": [
                "canTrickyJump",
                "canPreciseWalljump",
                {
                  "acidFrames": 16
                }
              ]
            },
            {
              "and": [
                "Gravity",
                {
                  "acidFrames": 16
                }
              ]
            },
            {
              "acidFrames": 27
            }
          ]
        }
      ],
      "flashSuitChecked": true,
      "note": [
        "While on the first platform, perform a long jump to the left then diagonally spark low into the side of the next platform.",
        "This will put Samus into a position where the Metroid will swoop underneath her."
      ],
      "devNote": "This is only useful with a flash suit without Speed Booster."
    },
    {
      "id": 76,
      "link": [
        4,
        1
      ],
      "name": "Use Flash Suit, Metroids Cleared",
      "requires": [
        {
          "obstaclesCleared": [
            "A"
          ]
        },
        {
          "useFlashSuit": {}
        },
        {
          "shinespark": {
            "frames": 4,
            "excessFrames": 2
          }
        },
        {
          "or": [
            "canInsaneJump",
            {
              "and": [
                "canTrickyJump",
                "canLateralMidAirMorph"
              ]
            },
            {
              "and": [
                "canTrickyJump",
                "canPreciseWalljump",
                {
                  "acidFrames": 16
                }
              ]
            },
            {
              "and": [
                "Gravity",
                {
                  "acidFrames": 16
                }
              ]
            },
            {
              "acidFrames": 27
            }
          ]
        }
      ],
      "flashSuitChecked": true
    },
    {
      "id": 73,
      "link": [
        5,
        2
      ],
      "name": "Base",
      "requires": []
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Base (Unlock Door)",
      "requires": [],
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ]
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Base (Come In Normally)",
      "entranceCondition": {
        "comeInNormally": {}
      },
      "requires": []
    },
    {
      "name": "Base",
      "requires": [
        {
          "obstaclesCleared": [
            "A"
          ]
        }
      ],
      "link": [
        1,
        1
      ],
      "setsFlags": [
        "f_KilledMetroidRoom1"
      ]
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Base (Unlock Door)",
      "requires": [],
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ]
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Base (Come In Normally)",
      "entranceCondition": {
        "comeInNormally": {}
      },
      "requires": []
    },
    {
      "name": "Base",
      "requires": [
        {
          "obstaclesCleared": [
            "A"
          ]
        }
      ],
      "link": [
        5,
        5
      ],
      "setsFlags": [
        "f_KilledMetroidRoom1"
      ]
    }
  ],
  "notables": [
    {
      "id": 1,
      "name": "Rinka Damage Boost",
      "note": [
        "Aim a Rinka to travel horizontally across the top of the room and use it to damage boost between the two floating platforms."
      ]
    },
    {
      "id": 2,
      "name": "Acid Skip CWJ",
      "note": [
        "Align with the wall below the door while facing left.",
        "Hold dash, turn around, start running and arm pump once.",
        "Jump from the rightmost 'X' in the background.",
        "Release forward at some point while airborne, but repress it again before the CWJ.",
        "Immediately after the CWJ, shoot the Metroid to avoid getting grabbed."
      ]
    },
    {
      "id": 3,
      "name": "Power Bomb Dodge Kill (Right to Left)",
      "note": [
        "Group all of the Metroids by hitting the first Rinka with a Power Bomb.",
        "Once grouped, use two more Power Bombs to finish them off."
      ]
    }
  ],
  "nextStratId": 77,
  "nextNotableId": 4,
  "devNote": [
    "Doing 'canMetroidAvoid' while using the runway below the left door (e.g. to get a shinecharge) seems pretty tough; maybe it should require something more?"
  ]
}