Metroid Room 1

Room ID: 226

Wiki
Difficulty filter

From: 1
Left Door (locked)
To: 1
Left Door (locked)

Exit condition:

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

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 (locked)
To: 1
Left Door (locked)

Requires:

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

Exit condition:

{
  "leaveShinecharged": {
    "framesRemaining": 140
  }
}
From: 1
Left Door (locked)
To: 1
Left Door (locked)

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

Requires:

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

Requires:

{
  "enemyKill": {
    "enemies": [
      [
        "Metroid",
        "Metroid",
        "Metroid",
        "Metroid"
      ]
    ],
    "explicitWeapons": [
      "PowerBombPeriphery"
    ]
  }
}
{
  "metroidFrames": 330
}

Clears obstacles: A

From: 1
Left Door (locked)
To: 1
Left Door (locked)

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 (locked)
To: 1
Left Door (locked)

Exit condition:

{
  "leaveWithGModeSetup": {}
}
From: 1
Left Door (locked)
To: 1
Left Door (locked)

Requires:

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

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 (locked)
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 (locked)
To: 2
Right Door

Notable: true

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:

"canCWJ"
"canInsaneWalljump"
{
  "or": [
    {
      "obstaclesCleared": [
        "A"
      ]
    },
    "canDodgeWhileShooting"
  ]
}
From: 1
Left Door (locked)
To: 2
Right Door

Requires:

"canBlueSpaceJump"
{
  "canShineCharge": {
    "usedTiles": 31,
    "openEnd": 1
  }
}
From: 1
Left Door (locked)
To: 2
Right Door

Jump Immediately upon entry, or before the transition.

Entrance condition:

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

Requires:

"canBlueSpaceJump"
"canCarefulJump"
From: 1
Left Door (locked)
To: 2
Right Door

Entrance condition:

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

Requires:

"f_KilledMetroidRoom1"
"h_canArtificialMorphCeilingBombJump"
"canLongCeilingBombJump"
"canBePatient"
From: 1
Left Door (locked)
To: 3
Junction (Get Past Metroids, Left to Right)

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

Requires:

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

Clears obstacles: A

From: 1
Left Door (locked)
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 (locked)

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 (locked)

Jump Immediately upon entry, or before the transition.

Entrance condition:

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

Requires:

"canBlueSpaceJump"
"canCarefulJump"
From: 2
Right Door
To: 1
Left Door (locked)

Entrance condition:

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

Requires:

"f_KilledMetroidRoom1"
"h_canArtificialMorphCeilingBombJump"
From: 2
Right Door
To: 1
Left Door (locked)

Entrance condition:

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

Entrance condition:

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

Bypasses door shell: true

From: 2
Right Door
To: 1
Left Door (locked)

Entrance condition:

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

Exit condition:

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

Bypasses door shell: true

From: 2
Right Door
To: 1
Left Door (locked)

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
  }
}

Exit condition:

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

Requires:

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

Power Bombing the first Metroid will cause the rest to rush towards Samus.

Requires:

{
  "enemyKill": {
    "enemies": [
      [
        "Metroid",
        "Metroid",
        "Metroid",
        "Metroid"
      ]
    ],
    "explicitWeapons": [
      "PowerBombPeriphery"
    ]
  }
}
{
  "metroidFrames": 170
}

Clears obstacles: A

From: 2
Right Door
To: 2
Right Door

Notable: true

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"

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) (locked)

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 echoes and enough speed to reach the far platform.

Requires:

"SpeedBooster"
"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

Notable: true

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:

{
  "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": [
        "h_canHBJ",
        "canResetFallSpeed"
      ]
    },
    {
      "and": [
        {
          "obstaclesCleared": [
            "A"
          ]
        },
        "h_canDiagonalBombJump"
      ]
    },
    "h_canCeilingBombJump"
  ]
}
From: 4
Junction (Get Past Metroids, Right to Left)
To: 1
Left Door (locked)

Requires:

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

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 (locked)

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 (locked)

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 (locked)

Notable: true

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:

{
  "enemyDamage": {
    "enemy": "Rinka",
    "type": "contact",
    "hits": 1
  }
}
"canTrickyJump"
"canHorizontalDamageBoost"
"canCameraManip"
{
  "or": [
    {
      "obstaclesCleared": [
        "A"
      ]
    },
    {
      "and": [
        "canMetroidAvoid",
        "canHitbox"
      ]
    }
  ]
}
{
  "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 (locked)

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 (locked)

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 (locked)

Requires:

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

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 (locked)

Bomb Jump between the two floating platforms.

Requires:

{
  "obstaclesCleared": [
    "A"
  ]
}
{
  "or": [
    "h_canCeilingBombJump",
    "h_canDiagonalBombJump"
  ]
}
From: 5
Junction (Metroid Kill Flag) (locked)
To: 2
Right Door

From: 1
Left Door (locked)
To: 6
Left Door (unlocked)

Requires:

{
  "obstaclesCleared": [
    "A"
  ]
}
From: 6
Left Door (unlocked)
To: 1
Left Door (locked)

From: 5
Junction (Metroid Kill Flag) (locked)
To: 7
Junction (Metroid Kill Flag) (unlocked)

Requires:

{
  "obstaclesCleared": [
    "A"
  ]
}
From: 7
Junction (Metroid Kill Flag) (unlocked)
To: 5
Junction (Metroid Kill Flag) (locked)

{
  "$schema": "../../../schema/m3-room.schema.json",
  "id": 226,
  "name": "Metroid Room 1",
  "area": "Tourian",
  "subarea": "Main",
  "playable": true,
  "roomAddress": "0x7DAE1",
  "roomEnvironments": [
    {
      "heated": false
    }
  ],
  "nodes": [
    {
      "id": 1,
      "name": "Left Door (locked)",
      "nodeType": "junction",
      "nodeSubType": "grey",
      "nodeAddress": "0x001a9b4",
      "doorEnvironments": [
        {
          "physics": "air"
        }
      ]
    },
    {
      "id": 2,
      "name": "Right Door",
      "nodeType": "door",
      "nodeSubType": "blue",
      "nodeAddress": "0x001a9a8",
      "doorEnvironments": [
        {
          "physics": "air"
        }
      ]
    },
    {
      "id": 3,
      "name": "Junction (Get Past Metroids, Left to Right)",
      "nodeType": "junction",
      "nodeSubType": "junction",
      "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",
      "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) (locked)",
      "nodeType": "junction",
      "nodeSubType": "junction",
      "note": "Getting to this node means the Metroids have been killed."
    },
    {
      "id": 6,
      "name": "Left Door (unlocked)",
      "nodeType": "door",
      "nodeSubType": "grey",
      "nodeAddress": "0x001a9b4",
      "doorEnvironments": [
        {
          "physics": "air"
        }
      ],
      "yields": [
        "f_KilledMetroidRoom1"
      ]
    },
    {
      "id": 7,
      "name": "Junction (Metroid Kill Flag) (unlocked)",
      "nodeType": "junction",
      "nodeSubType": "junction",
      "note": "Getting to this node means the Metroids have been killed.",
      "yields": [
        "f_KilledMetroidRoom1"
      ]
    }
  ],
  "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
      ]
    }
  ],
  "reusableRoomwideNotable": [
    {
      "name": "Metroid Room 1 Rinka 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."
      ]
    }
  ],
  "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": [
    {
      "link": [
        1,
        1
      ],
      "name": "Leave with Runway",
      "requires": [],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 3,
          "openEnd": 1
        }
      }
    },
    {
      "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."
      ]
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Leave Shinecharged",
      "requires": [
        {
          "or": [
            "canMetroidAvoid",
            "Ice",
            "f_KilledMetroidRoom1"
          ]
        },
        "canShinechargeMovement",
        {
          "canShineCharge": {
            "usedTiles": 31,
            "openEnd": 1
          }
        }
      ],
      "exitCondition": {
        "leaveShinecharged": {
          "framesRemaining": 140
        }
      }
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Crystal Flash",
      "requires": [
        {
          "obstaclesCleared": [
            "A"
          ]
        },
        "h_canCrystalFlash"
      ],
      "note": [
        "Be sure to be at a safe distance from Rinkas before performing the Crystal Flash."
      ]
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Tank and PB Kill",
      "requires": [
        {
          "enemyKill": {
            "enemies": [
              [
                "Metroid",
                "Metroid",
                "Metroid",
                "Metroid"
              ]
            ],
            "explicitWeapons": [
              "PowerBombPeriphery"
            ]
          }
        },
        {
          "metroidFrames": 330
        }
      ],
      "clearsObstacles": [
        "A"
      ]
    },
    {
      "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."
      ]
    },
    {
      "link": [
        1,
        1
      ],
      "name": "G-Mode Setup - Get Hit By Rinka",
      "notable": false,
      "requires": [],
      "exitCondition": {
        "leaveWithGModeSetup": {}
      }
    },
    {
      "link": [
        1,
        1
      ],
      "name": "G-Mode Regain Mobility",
      "requires": [
        {
          "enemyDamage": {
            "enemy": "Rinka",
            "type": "contact",
            "hits": 1
          }
        }
      ],
      "gModeRegainMobility": {}
    },
    {
      "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"
      ],
      "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."
    },
    {
      "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."
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Metroid Room 1 Acid Skip CWJ",
      "notable": true,
      "requires": [
        "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."
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Blue SpaceJump",
      "requires": [
        "canBlueSpaceJump",
        {
          "canShineCharge": {
            "usedTiles": 31,
            "openEnd": 1
          }
        }
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Blue SpaceJump, Into the Room",
      "entranceCondition": {
        "comeInShinecharging": {
          "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."
    },
    {
      "link": [
        1,
        2
      ],
      "name": "G-mode Morph Ceiling Bomb Jump",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": true
        }
      },
      "requires": [
        "f_KilledMetroidRoom1",
        "h_canArtificialMorphCeilingBombJump",
        "canLongCeilingBombJump",
        "canBePatient"
      ]
    },
    {
      "link": [
        1,
        3
      ],
      "name": "Base",
      "requires": []
    },
    {
      "link": [
        1,
        3
      ],
      "name": "Already Cleared",
      "requires": [
        {
          "or": [
            "f_KilledMetroidRoom1",
            {
              "obstaclesCleared": [
                "A"
              ]
            }
          ]
        }
      ],
      "clearsObstacles": [
        "A"
      ]
    },
    {
      "link": [
        1,
        3
      ],
      "name": "Ammo Kill",
      "requires": [
        "Ice",
        {
          "enemyKill": {
            "enemies": [
              [
                "Metroid",
                "Metroid",
                "Metroid",
                "Metroid"
              ]
            ],
            "explicitWeapons": [
              "Super",
              "Missile"
            ]
          }
        }
      ],
      "clearsObstacles": [
        "A"
      ]
    },
    {
      "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."
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Blue SpaceJump, Into the Room",
      "entranceCondition": {
        "comeInShinecharging": {
          "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."
    },
    {
      "link": [
        2,
        1
      ],
      "name": "G-mode Morph Ceiling Bomb Jump",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": true
        }
      },
      "requires": [
        "f_KilledMetroidRoom1",
        "h_canArtificialMorphCeilingBombJump"
      ]
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Grapple Teleport",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              7,
              2
            ]
          ]
        }
      },
      "requires": []
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Grapple Teleport Door Lock Skip",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              12
            ],
            [
              3,
              13
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Carry Grapple Teleport (Top Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              12
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              12
            ]
          ]
        }
      }
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Carry Grapple Teleport (Bottom Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              13
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              13
            ]
          ]
        }
      }
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Leave with Runway",
      "requires": [],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 3,
          "openEnd": 1
        }
      }
    },
    {
      "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."
      ]
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Leave Shinecharged",
      "requires": [
        {
          "or": [
            "canMetroidAvoid",
            "Ice",
            "f_KilledMetroidRoom1"
          ]
        },
        "canShinechargeMovement",
        {
          "canShineCharge": {
            "usedTiles": 23,
            "openEnd": 1
          }
        }
      ],
      "exitCondition": {
        "leaveShinecharged": {
          "framesRemaining": 140
        }
      }
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Crystal Flash",
      "requires": [
        "h_canCrystalFlash"
      ]
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Tank and PB Kill",
      "requires": [
        {
          "enemyKill": {
            "enemies": [
              [
                "Metroid",
                "Metroid",
                "Metroid",
                "Metroid"
              ]
            ],
            "explicitWeapons": [
              "PowerBombPeriphery"
            ]
          }
        },
        {
          "metroidFrames": 170
        }
      ],
      "clearsObstacles": [
        "A"
      ],
      "note": "Power Bombing the first Metroid will cause the rest to rush towards Samus."
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Metroid Room 1 PB Dodge Kill (Right to Left)",
      "notable": true,
      "requires": [
        {
          "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."
      ]
    },
    {
      "link": [
        2,
        2
      ],
      "name": "G-Mode Setup - Get Hit By Rinka",
      "notable": false,
      "requires": [
        {
          "or": [
            "canTrickyJump",
            "SpaceJump"
          ]
        },
        {
          "or": [
            "canMetroidAvoid",
            "canUseFrozenEnemies",
            "ScrewAttack",
            "f_KilledMetroidRoom1"
          ]
        }
      ],
      "exitCondition": {
        "leaveWithGModeSetup": {}
      },
      "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."
      ]
    },
    {
      "link": [
        2,
        2
      ],
      "name": "G-Mode Setup - Get Hit By Metroid",
      "notable": false,
      "requires": [
        {
          "not": "f_KilledMetroidRoom1"
        },
        "canRiskPermanentLossOfAccess"
      ],
      "exitCondition": {
        "leaveWithGModeSetup": {
          "knockback": false
        }
      }
    },
    {
      "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"
      ],
      "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."
    },
    {
      "link": [
        2,
        4
      ],
      "name": "Base",
      "requires": []
    },
    {
      "link": [
        2,
        4
      ],
      "name": "Already Cleared",
      "requires": [
        {
          "or": [
            {
              "obstaclesCleared": [
                "A"
              ]
            },
            "f_KilledMetroidRoom1"
          ]
        }
      ],
      "clearsObstacles": [
        "A"
      ]
    },
    {
      "link": [
        2,
        4
      ],
      "name": "Ammo Kill",
      "requires": [
        "Ice",
        {
          "enemyKill": {
            "enemies": [
              [
                "Metroid",
                "Metroid",
                "Metroid",
                "Metroid"
              ]
            ],
            "explicitWeapons": [
              "Super",
              "Missile"
            ]
          }
        }
      ],
      "clearsObstacles": [
        "A"
      ]
    },
    {
      "link": [
        2,
        5
      ],
      "name": "Aquire Metroids Killed Flag",
      "requires": [
        {
          "obstaclesCleared": [
            "A"
          ]
        }
      ]
    },
    {
      "link": [
        3,
        2
      ],
      "name": "Space Jump",
      "requires": [
        "SpaceJump",
        {
          "or": [
            {
              "obstaclesCleared": [
                "A"
              ]
            },
            "Ice",
            "ScrewAttack",
            "canPseudoScrew",
            "canMetroidAvoid",
            {
              "metroidFrames": 270
            }
          ]
        }
      ]
    },
    {
      "link": [
        3,
        2
      ],
      "name": "Speedjump",
      "requires": [
        "SpeedBooster",
        "canCarefulJump",
        {
          "or": [
            {
              "obstaclesCleared": [
                "A"
              ]
            },
            "Ice",
            "ScrewAttack",
            "canPseudoScrew",
            "canMetroidAvoid",
            {
              "metroidFrames": 130
            }
          ]
        }
      ],
      "note": "Use the full runway to gain echoes and enough speed to reach the far platform."
    },
    {
      "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
                  }
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "link": [
        3,
        2
      ],
      "name": "Metroid Room 1 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."
    },
    {
      "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."
      ]
    },
    {
      "link": [
        3,
        2
      ],
      "name": "Metroid Room 1 Rinka Boost (Left to Right)",
      "notable": true,
      "requires": [
        {
          "enemyDamage": {
            "enemy": "Rinka",
            "type": "contact",
            "hits": 1
          }
        },
        "canTrickyJump",
        "canHorizontalDamageBoost",
        "canCameraManip",
        {
          "or": [
            {
              "obstaclesCleared": [
                "A"
              ]
            },
            "canMetroidAvoid"
          ]
        }
      ],
      "reusableRoomwideNotable": "Metroid Room 1 Rinka Boost",
      "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."
      ]
    },
    {
      "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
            }
          ]
        }
      ]
    },
    {
      "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."
    },
    {
      "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."
    },
    {
      "link": [
        3,
        2
      ],
      "name": "Bomb Jump",
      "requires": [
        {
          "or": [
            {
              "obstaclesCleared": [
                "A"
              ]
            },
            {
              "and": [
                "canCameraManip",
                "canMetroidAvoid"
              ]
            }
          ]
        },
        {
          "or": [
            {
              "and": [
                "h_canHBJ",
                "canResetFallSpeed"
              ]
            },
            {
              "and": [
                {
                  "obstaclesCleared": [
                    "A"
                  ]
                },
                "h_canDiagonalBombJump"
              ]
            },
            "h_canCeilingBombJump"
          ]
        }
      ],
      "note": "Bomb Jump between the two floating platforms."
    },
    {
      "link": [
        4,
        1
      ],
      "name": "Space Jump",
      "requires": [
        "SpaceJump",
        {
          "or": [
            {
              "obstaclesCleared": [
                "A"
              ]
            },
            "ScrewAttack",
            "canPseudoScrew",
            "Ice",
            "canMetroidAvoid",
            {
              "metroidFrames": 420
            }
          ]
        }
      ]
    },
    {
      "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"
              ]
            }
          ]
        }
      ]
    },
    {
      "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."
      ]
    },
    {
      "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."
      ]
    },
    {
      "link": [
        4,
        1
      ],
      "name": "Metroid Room 1 Rinka Boost (Right to Left)",
      "notable": true,
      "requires": [
        {
          "enemyDamage": {
            "enemy": "Rinka",
            "type": "contact",
            "hits": 1
          }
        },
        "canTrickyJump",
        "canHorizontalDamageBoost",
        "canCameraManip",
        {
          "or": [
            {
              "obstaclesCleared": [
                "A"
              ]
            },
            {
              "and": [
                "canMetroidAvoid",
                "canHitbox"
              ]
            }
          ]
        },
        {
          "or": [
            "canInsaneJump",
            {
              "enemyDamage": {
                "enemy": "Rinka",
                "type": "contact",
                "hits": 1
              }
            },
            {
              "and": [
                "canTrickyJump",
                "canLateralMidAirMorph"
              ]
            },
            {
              "and": [
                "Gravity",
                {
                  "acidFrames": 16
                }
              ]
            },
            {
              "acidFrames": 27
            }
          ]
        }
      ],
      "reusableRoomwideNotable": "Metroid Room 1 Rinka Boost",
      "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."
      ]
    },
    {
      "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."
      ]
    },
    {
      "link": [
        4,
        1
      ],
      "name": "Acid Run",
      "requires": [
        {
          "acidFrames": 65
        },
        {
          "or": [
            {
              "obstaclesCleared": [
                "A"
              ]
            },
            "Ice",
            "ScrewAttack",
            {
              "and": [
                "canPseudoScrew",
                "canDodgeWhileShooting"
              ]
            },
            {
              "and": [
                "canInsaneJump",
                "canMetroidAvoid"
              ]
            },
            {
              "metroidFrames": 670
            }
          ]
        }
      ]
    },
    {
      "link": [
        4,
        1
      ],
      "name": "Blue SpaceJump",
      "requires": [
        "canBlueSpaceJump",
        {
          "canShineCharge": {
            "usedTiles": 22,
            "openEnd": 1
          }
        },
        {
          "metroidFrames": 67
        }
      ]
    },
    {
      "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
            }
          ]
        }
      ]
    },
    {
      "link": [
        4,
        1
      ],
      "name": "Inifinite Bomb Jump",
      "requires": [
        {
          "obstaclesCleared": [
            "A"
          ]
        },
        {
          "or": [
            "h_canCeilingBombJump",
            "h_canDiagonalBombJump"
          ]
        }
      ],
      "note": "Bomb Jump between the two floating platforms."
    },
    {
      "link": [
        5,
        2
      ],
      "name": "Base",
      "requires": []
    },
    {
      "name": "Base",
      "notable": false,
      "requires": [
        {
          "obstaclesCleared": [
            "A"
          ]
        }
      ],
      "link": [
        1,
        6
      ]
    },
    {
      "link": [
        6,
        1
      ],
      "name": "Base",
      "notable": false,
      "requires": []
    },
    {
      "name": "Base",
      "notable": false,
      "requires": [
        {
          "obstaclesCleared": [
            "A"
          ]
        }
      ],
      "link": [
        5,
        7
      ]
    },
    {
      "link": [
        7,
        5
      ],
      "name": "Base",
      "notable": false,
      "requires": []
    }
  ]
}