Metroid Room 2

Room ID: 227

Wiki
Difficulty filter

From: 1
Top Right Door
To: 1
Top Right Door

Exit condition:

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

Kill or lure and freeze the Metroids at the bottom of the room. It may be easiest to stand on a frozen Rinka from the top left spawner to position a freeze of the other Rinka. Maintain a half-tile gap between the Rinka and the runway in order to extend it as far as possible.

Requires:

"h_canTrickyFrozenEnemyRunway"

Exit condition:

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

Exit condition:

{
  "leaveWithGModeSetup": {}
}
From: 1
Top Right Door
To: 1
Top Right Door

Requires:

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

This is easiest by staying on the top floating platform with the two Metroids stuck below it. 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_canArtificialMorphPowerBomb"
"h_canArtificialMorphPowerBomb"
"h_canArtificialMorphPowerBomb"

Clears obstacles: A

From: 1
Top Right Door
To: 2
Bottom Right Door (locked)

Requires:

"f_KilledMetroidRoom2"

Clears obstacles: A

From: 1
Top Right Door
To: 2
Bottom Right Door (locked)

Requires:

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

Clears obstacles: A

From: 1
Top Right Door
To: 2
Bottom Right Door (locked)

Requires:

{
  "enemyKill": {
    "enemies": [
      [
        "Metroid",
        "Metroid"
      ]
    ],
    "explicitWeapons": [
      "PowerBomb"
    ]
  }
}
{
  "metroidFrames": 96
}

Clears obstacles: A

From: 1
Top Right Door
To: 2
Bottom Right Door (locked)

An easy way is once Samus is on the top platform, jump and aim down to lower the camera, then place 3 PBs.

Requires:

{
  "enemyKill": {
    "enemies": [
      [
        "Metroid",
        "Metroid"
      ]
    ],
    "explicitWeapons": [
      "PowerBomb"
    ]
  }
}
{
  "or": [
    "canMetroidAvoid",
    "canCameraManip"
  ]
}

Clears obstacles: A

From: 1
Top Right Door
To: 2
Bottom Right Door (locked)

Requires:

"Ice"
From: 1
Top Right Door
To: 2
Bottom Right Door (locked)

Use ScrewAttack or a PseudoScrew to prevent Metroids from attaching to Samus.

Requires:

"canDodgeWhileShooting"
{
  "or": [
    "ScrewAttack",
    "canPseudoScrew"
  ]
}
From: 1
Top Right Door
To: 2
Bottom Right Door (locked)

Requires:

"canMetroidAvoid"
From: 1
Top Right Door
To: 2
Bottom Right Door (locked)

Requires:

{
  "metroidFrames": 80
}
From: 1
Top Right Door
To: 2
Bottom Right Door (locked)

Entrance condition:

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

Requires:

"canShinechargeMovementTricky"
{
  "or": [
    "canMoonfall",
    "Morph"
  ]
}
{
  "or": [
    "f_KilledMetroidRoom2",
    {
      "metroidFrames": 25
    }
  ]
}

Exit condition:

{
  "leaveShinecharged": {
    "framesRemaining": 50
  }
}
From: 1
Top Right Door
To: 2
Bottom Right Door (locked)

Entrance condition:

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

Requires:

"canShinechargeMovementTricky"
{
  "shinespark": {
    "frames": 7
  }
}
{
  "or": [
    "f_KilledMetroidRoom2",
    "canMetroidAvoid"
  ]
}

Exit condition:

{
  "leaveWithSpark": {}
}
From: 1
Top Right Door
To: 2
Bottom Right Door (locked)

Entrance condition:

{
  "comeInShinecharged": {
    "framesRequired": 140
  }
}

Requires:

"canShinechargeMovementTricky"
{
  "or": [
    "canMoonfall",
    "Morph"
  ]
}
{
  "or": [
    "f_KilledMetroidRoom2",
    {
      "metroidFrames": 25
    }
  ]
}

Exit condition:

{
  "leaveShinecharged": {
    "framesRemaining": "auto"
  }
}
From: 1
Top Right Door
To: 2
Bottom Right Door (locked)

Entrance condition:

{
  "comeInShinecharged": {
    "framesRequired": 102
  }
}

Requires:

"canShinechargeMovementTricky"
{
  "shinespark": {
    "frames": 22
  }
}
{
  "or": [
    "f_KilledMetroidRoom2",
    "canMetroidAvoid"
  ]
}

Exit condition:

{
  "leaveWithSpark": {}
}
From: 2
Bottom Right Door (locked)
To: 1
Top Right Door

Requires:

"f_KilledMetroidRoom2"

Clears obstacles: A

From: 2
Bottom Right Door (locked)
To: 1
Top Right Door

Requires:

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

Clears obstacles: A

From: 2
Bottom Right Door (locked)
To: 1
Top Right Door

Requires:

{
  "enemyKill": {
    "enemies": [
      [
        "Metroid",
        "Metroid"
      ]
    ],
    "explicitWeapons": [
      "PowerBomb"
    ]
  }
}
{
  "metroidFrames": 400
}

Clears obstacles: A

From: 2
Bottom Right Door (locked)
To: 1
Top Right Door

Notable: true

Kill the two Metroids with Power Bombs while avoiding damage.

Requires:

{
  "enemyKill": {
    "enemies": [
      [
        "Metroid",
        "Metroid"
      ]
    ],
    "explicitWeapons": [
      "PowerBomb"
    ]
  }
}
"canMetroidAvoid"

Clears obstacles: A

From: 2
Bottom Right Door (locked)
To: 1
Top Right Door

Requires:

"Ice"
From: 2
Bottom Right Door (locked)
To: 1
Top Right Door

Use ScrewAttack or a PseudoScrew to prevent Metroids from attaching to Samus.

Requires:

{
  "or": [
    {
      "and": [
        "ScrewAttack",
        "canDodgeWhileShooting"
      ]
    },
    {
      "and": [
        "canPseudoScrew",
        "canPrepareForNextRoom",
        "canDodgeWhileShooting"
      ]
    }
  ]
}
From: 2
Bottom Right Door (locked)
To: 1
Top Right Door

Notable: true

Buffer a spinjump towards the door to jump over the top metroid and land on the middle platform. Metroids can be knocked with Beam shots to clear a path.

Requires:

"canMetroidAvoid"
From: 2
Bottom Right Door (locked)
To: 1
Top Right Door

Requires:

{
  "metroidFrames": 120
}
From: 2
Bottom Right Door (locked)
To: 1
Top Right Door

Enter immobile with G-mode direct, with the Metroids having been killed previously. Take a Rinka hit to regain mobility. Back up to between 1 and 6 pixels from the door transition, and activate X-ray to get very deep stuck in the door. Climb up 1 screen, moving quickly to minimize Rinka damage. Perform a turnaround buffered spin-jump away from the door to trigger the transition, bypassing any lock on the door.

Entrance condition:

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

Requires:

"f_KilledMetroidRoom2"
{
  "enemyDamage": {
    "enemy": "Rinka",
    "type": "contact",
    "hits": 1
  }
}
"canXRayClimb"

Bypasses door shell: true

From: 2
Bottom Right Door (locked)
To: 1
Top Right Door

Enter with G-mode direct, and quickly freeze the Metroids (if still alive) and Rinkas. Back up to between 1 and 6 pixels from the door transition, and activate X-ray to get very deep stuck in the door. Climb up 1 screen, moving quickly to avoid Rinka damage. Perform a turnaround buffered spin-jump away from the door to trigger the transition, bypassing any lock on the door.

Entrance condition:

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

Requires:

"Ice"
"canXRayClimb"

Bypasses door shell: true

From: 2
Bottom Right Door (locked)
To: 1
Top Right Door

Enter with G-mode direct, using artificial morph to avoid the Metroids if they are still alive. Go to the top of the room and Crystal Flash, with the Metroids stuck below (if alive). The Crystal Flash will leave behind a light orb, which can be used to kill the Metroids. Use the Rinkas to damage down. For the final hit that will trigger auto-reserves, stand in the open doorway between 1 and 6 pixels from the transition. The auto reserve trigger will cancel G-mode and close the door on top of Samus. Climb up 1 screen, moving quickly to minimize Rinka damage. Perform a turnaround buffered spin-jump away from the door to trigger the transition, bypassing any lock on the door.

Entrance condition:

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

Requires:

"h_canCrystalFlash"
{
  "autoReserveTrigger": {}
}
"canXRayClimb"
{
  "enemyDamage": {
    "enemy": "Rinka",
    "type": "contact",
    "hits": 1
  }
}

Bypasses door shell: true

From: 2
Bottom Right Door (locked)
To: 1
Top Right Door

Not pressing dash will make the platforming easier, unless HiJump is also equipped.

Entrance condition:

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

Requires:

"canShinechargeMovementComplex"
{
  "shinespark": {
    "frames": 7
  }
}
"f_KilledMetroidRoom2"

Exit condition:

{
  "leaveWithSpark": {}
}
From: 2
Bottom Right Door (locked)
To: 1
Top Right Door

Spinjump into the opening below the top door.

Entrance condition:

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

Requires:

"canShinechargeMovementComplex"
"HiJump"
"canCarefulJump"
{
  "or": [
    "f_KilledMetroidRoom2",
    {
      "and": [
        "canMetroidAvoid",
        "canShinechargeMovementTricky"
      ]
    }
  ]
}

Exit condition:

{
  "leaveShinecharged": {
    "framesRemaining": 50
  }
}
From: 2
Bottom Right Door (locked)
To: 1
Top Right Door

Wall jump up the right wall and either mid-air morph to fit through the gap below the top door. Alternatively use a mid-air wiggle to reduce the height of Samus' hitbox after the walljump, to be able to fit through the gap without morphing.

Entrance condition:

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

Requires:

"canShinechargeMovementComplex"
"canWallJumpInstantMorph"
"f_KilledMetroidRoom2"

Exit condition:

{
  "leaveShinecharged": {
    "framesRemaining": 30
  }
}
From: 2
Bottom Right Door (locked)
To: 1
Top Right Door

Use a mid-air wiggle to reduce the height of Samus' hitbox after the walljump, to be able to fit through the gap without morphing.

Entrance condition:

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

Requires:

"canWalljump"
"canMidairWiggle"
"canShinechargeMovementTricky"
"f_KilledMetroidRoom2"

Exit condition:

{
  "leaveShinecharged": {
    "framesRemaining": 50
  }
}
From: 2
Bottom Right Door (locked)
To: 1
Top Right Door

Spinjump into the opening below the top door.

Entrance condition:

{
  "comeInShinecharged": {
    "framesRequired": 105
  }
}

Requires:

"HiJump"
"canCarefulJump"
"canShinechargeMovementComplex"
{
  "or": [
    "f_KilledMetroidRoom2",
    "canMetroidAvoid"
  ]
}

Exit condition:

{
  "leaveShinecharged": {
    "framesRemaining": "auto"
  }
}
From: 2
Bottom Right Door (locked)
To: 1
Top Right Door

Wall jump up the right wall and either mid-air morph to fit through the gap below the top door. Alternatively use a mid-air wiggle to reduce the height of Samus' hitbox after the walljump, to be able to fit through the gap without morphing.

Entrance condition:

{
  "comeInShinecharged": {
    "framesRequired": 140
  }
}

Requires:

"canWallJumpInstantMorph"
"canShinechargeMovementComplex"
{
  "or": [
    "f_KilledMetroidRoom2",
    "canMetroidAvoid"
  ]
}

Exit condition:

{
  "leaveShinecharged": {
    "framesRemaining": "auto"
  }
}
From: 2
Bottom Right Door (locked)
To: 1
Top Right Door

Wall jump up the right wall and use a mid-air wiggle to reduce the height of Samus' hitbox after the walljump, to be able to fit through the gap without morphing.

Entrance condition:

{
  "comeInShinecharged": {
    "framesRequired": 120
  }
}

Requires:

"canWalljump"
"canMidairWiggle"
"canShinechargeMovementTricky"
{
  "or": [
    "f_KilledMetroidRoom2",
    "canMetroidAvoid"
  ]
}

Exit condition:

{
  "leaveShinecharged": {
    "framesRemaining": "auto"
  }
}
From: 2
Bottom Right Door (locked)
To: 1
Top Right Door

Spinjump into the opening below the top door.

Entrance condition:

{
  "comeInShinecharged": {
    "framesRequired": 80
  }
}

Requires:

"HiJump"
"canCarefulJump"
"canShinechargeMovementComplex"
{
  "shinespark": {
    "frames": 6
  }
}
{
  "or": [
    "f_KilledMetroidRoom2",
    "canMetroidAvoid"
  ]
}

Exit condition:

{
  "leaveWithSpark": {}
}
From: 2
Bottom Right Door (locked)
To: 1
Top Right Door

Wall jump up the right wall and either mid-air morph to fit through the gap below the top door. Alternatively use a mid-air wiggle to reduce the height of Samus' hitbox after the walljump, to be able to fit through the gap without morphing. Shoot the door open and spark out.

Entrance condition:

{
  "comeInShinecharged": {
    "framesRequired": 110
  }
}

Requires:

"canWallJumpInstantMorph"
"canShinechargeMovementComplex"
{
  "shinespark": {
    "frames": 5
  }
}
{
  "or": [
    "f_KilledMetroidRoom2",
    "canMetroidAvoid"
  ]
}

Exit condition:

{
  "leaveWithSpark": {}
}
From: 2
Bottom Right Door (locked)
To: 1
Top Right Door

Wall jump up the right wall and use a mid-air wiggle to reduce the height of Samus' hitbox after the walljump, to be able to fit through the gap without morphing. Shoot the door open and spark out.

Entrance condition:

{
  "comeInShinecharged": {
    "framesRequired": 105
  }
}

Requires:

"canWalljump"
"canMidairWiggle"
"canShinechargeMovementTricky"
{
  "shinespark": {
    "frames": 5
  }
}
{
  "or": [
    "f_KilledMetroidRoom2",
    "canMetroidAvoid"
  ]
}

Exit condition:

{
  "leaveWithSpark": {}
}
From: 2
Bottom Right Door (locked)
To: 2
Bottom Right Door (locked)

Requires:

{
  "or": [
    "f_KilledMetroidRoom2",
    "Ice",
    {
      "and": [
        {
          "enemyDamage": {
            "enemy": "Rinka",
            "type": "contact",
            "hits": 1
          }
        },
        {
          "metroidFrames": 22
        }
      ]
    }
  ]
}

Exit condition:

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

Kill or lure and freeze the Metroids at the top of the room. It may be easiest to stand on a frozen Rinka from the left spawner to position a freeze of the other Rinka. It is possible maintain a half-tile gap between the Rinka and the runway in order to extend it as far as possible.

Requires:

"h_canTrickyFrozenEnemyRunway"

Exit condition:

{
  "leaveWithRunway": {
    "length": 5,
    "openEnd": 0
  }
}
From: 2
Bottom Right Door (locked)
To: 2
Bottom Right Door (locked)

To avoid heavy Rinka damage, you must perform the Crystal Flash on a specific tile: on the third floor tile from the left wall. Lay the Power Bomb immediately after destroying both Rinkas.

Requires:

{
  "obstaclesCleared": [
    "A"
  ]
}
"h_canCrystalFlash"
{
  "enemyDamage": {
    "enemy": "Rinka",
    "type": "contact",
    "hits": 1
  }
}
From: 2
Bottom Right Door (locked)
To: 2
Bottom Right Door (locked)

If the Metroids are alive, lure them off screen.

Requires:

{
  "or": [
    "canMetroidAvoid",
    "canUseFrozenEnemies",
    "ScrewAttack",
    "f_KilledMetroidRoom2"
  ]
}

Exit condition:

{
  "leaveWithGModeSetup": {}
}
From: 2
Bottom Right Door (locked)
To: 2
Bottom Right Door (locked)

Requires:

{
  "not": "f_KilledMetroidRoom2"
}
"canRiskPermanentLossOfAccess"

Exit condition:

{
  "leaveWithGModeSetup": {
    "knockback": false
  }
}
From: 2
Bottom Right Door (locked)
To: 2
Bottom Right Door (locked)

If alive, the Metroids do 90 damage before the Rinka hits.

Requires:

{
  "enemyDamage": {
    "enemy": "Rinka",
    "type": "contact",
    "hits": 1
  }
}
{
  "or": [
    "f_KilledMetroidRoom2",
    {
      "metroidFrames": 120
    }
  ]
}
From: 2
Bottom Right Door (locked)
To: 2
Bottom Right Door (locked)

Quickly artificial morph and roll off to the bottom before being grabbed by the Metroids. This is much easier in indirect artificial morph. 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,
    "mobility": "mobile"
  }
}

Requires:

"canMetroidAvoid"
"h_canArtificialMorphSpringBall"
"h_canArtificialMorphPowerBomb"
"h_canArtificialMorphPowerBomb"
"h_canArtificialMorphPowerBomb"

Clears obstacles: A

From: 2
Bottom Right Door (locked)
To: 3
Bottom Right Door (unlocked)

Requires:

{
  "obstaclesCleared": [
    "A"
  ]
}
From: 3
Bottom Right Door (unlocked)
To: 2
Bottom Right Door (locked)

{
  "$schema": "../../../schema/m3-room.schema.json",
  "id": 227,
  "name": "Metroid Room 2",
  "area": "Tourian",
  "subarea": "Main",
  "playable": true,
  "roomAddress": "0x7DB31",
  "roomEnvironments": [
    {
      "heated": false
    }
  ],
  "nodes": [
    {
      "id": 1,
      "name": "Top Right Door",
      "nodeType": "door",
      "nodeSubType": "blue",
      "nodeAddress": "0x001a9c0",
      "doorEnvironments": [
        {
          "physics": "air"
        }
      ]
    },
    {
      "id": 2,
      "name": "Bottom Right Door (locked)",
      "nodeType": "junction",
      "nodeSubType": "grey",
      "nodeAddress": "0x001a9cc",
      "doorEnvironments": [
        {
          "physics": "air"
        }
      ]
    },
    {
      "id": 3,
      "name": "Bottom Right Door (unlocked)",
      "nodeType": "door",
      "nodeSubType": "grey",
      "nodeAddress": "0x001a9cc",
      "doorEnvironments": [
        {
          "physics": "air"
        }
      ],
      "yields": [
        "f_KilledMetroidRoom2"
      ]
    }
  ],
  "obstacles": [
    {
      "id": "A",
      "name": "Two Metroids",
      "obstacleType": "enemies"
    }
  ],
  "enemies": [
    {
      "id": "e1",
      "groupName": "Metroid Room 2 Metroids",
      "enemyName": "Metroid",
      "quantity": 2,
      "homeNodes": [
        2
      ],
      "stopSpawn": [
        "f_KilledMetroidRoom2"
      ]
    },
    {
      "id": "e2",
      "groupName": "Metroid Room 2 Rinkas",
      "enemyName": "Rinka",
      "quantity": 4,
      "homeNodes": [
        1,
        2
      ]
    }
  ],
  "links": [
    {
      "from": 1,
      "to": [
        {
          "id": 1
        },
        {
          "id": 2
        }
      ]
    },
    {
      "from": 2,
      "to": [
        {
          "id": 1
        },
        {
          "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_canTrickyFrozenEnemyRunway"
      ],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 5,
          "openEnd": 0
        }
      },
      "note": [
        "Kill or lure and freeze the Metroids at the bottom of the room.",
        "It may be easiest to stand on a frozen Rinka from the top left spawner to position a freeze of the other Rinka.",
        "Maintain a half-tile gap between the Rinka and the runway in order to extend it as far as possible."
      ]
    },
    {
      "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_canArtificialMorphPowerBomb",
        "h_canArtificialMorphPowerBomb",
        "h_canArtificialMorphPowerBomb"
      ],
      "clearsObstacles": [
        "A"
      ],
      "note": [
        "This is easiest by staying on the top floating platform with the two Metroids stuck below it.",
        "Note that it is necessary to exit G-Mode before exiting the room in order for the Metroids to remain killed."
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Already Cleared",
      "requires": [
        "f_KilledMetroidRoom2"
      ],
      "clearsObstacles": [
        "A"
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Ammo Kill",
      "requires": [
        "Ice",
        {
          "enemyKill": {
            "enemies": [
              [
                "Metroid",
                "Metroid"
              ]
            ],
            "explicitWeapons": [
              "Super",
              "Missile"
            ]
          }
        }
      ],
      "clearsObstacles": [
        "A"
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Tank and PB Kill",
      "requires": [
        {
          "enemyKill": {
            "enemies": [
              [
                "Metroid",
                "Metroid"
              ]
            ],
            "explicitWeapons": [
              "PowerBomb"
            ]
          }
        },
        {
          "metroidFrames": 96
        }
      ],
      "clearsObstacles": [
        "A"
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Metroid Room 2 PB Dodge Kill",
      "requires": [
        {
          "enemyKill": {
            "enemies": [
              [
                "Metroid",
                "Metroid"
              ]
            ],
            "explicitWeapons": [
              "PowerBomb"
            ]
          }
        },
        {
          "or": [
            "canMetroidAvoid",
            "canCameraManip"
          ]
        }
      ],
      "clearsObstacles": [
        "A"
      ],
      "note": "An easy way is once Samus is on the top platform, jump and aim down to lower the camera, then place 3 PBs."
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Ice Evade",
      "requires": [
        "Ice"
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Screw Evade",
      "requires": [
        "canDodgeWhileShooting",
        {
          "or": [
            "ScrewAttack",
            "canPseudoScrew"
          ]
        }
      ],
      "note": [
        "Use ScrewAttack or a PseudoScrew to prevent Metroids from attaching to Samus."
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Harder Evade",
      "requires": [
        "canMetroidAvoid"
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Tank the Damage",
      "requires": [
        {
          "metroidFrames": 80
        }
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Come In Shinecharging, Leave Shinecharged (Shortcut)",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 2,
          "openEnd": 1
        }
      },
      "requires": [
        "canShinechargeMovementTricky",
        {
          "or": [
            "canMoonfall",
            "Morph"
          ]
        },
        {
          "or": [
            "f_KilledMetroidRoom2",
            {
              "metroidFrames": 25
            }
          ]
        }
      ],
      "exitCondition": {
        "leaveShinecharged": {
          "framesRemaining": 50
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "powerbomb"
          ],
          "requires": []
        },
        {
          "types": [
            "missiles",
            "super"
          ],
          "requires": [
            "never"
          ]
        }
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Come In Shinecharging, Leave With Spark (Long Way Around)",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 2,
          "openEnd": 1
        }
      },
      "requires": [
        "canShinechargeMovementTricky",
        {
          "shinespark": {
            "frames": 7
          }
        },
        {
          "or": [
            "f_KilledMetroidRoom2",
            "canMetroidAvoid"
          ]
        }
      ],
      "exitCondition": {
        "leaveWithSpark": {}
      },
      "unlocksDoors": [
        {
          "types": [
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "missiles",
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Carry Shinecharge (Shortcut)",
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 140
        }
      },
      "requires": [
        "canShinechargeMovementTricky",
        {
          "or": [
            "canMoonfall",
            "Morph"
          ]
        },
        {
          "or": [
            "f_KilledMetroidRoom2",
            {
              "metroidFrames": 25
            }
          ]
        }
      ],
      "exitCondition": {
        "leaveShinecharged": {
          "framesRemaining": "auto"
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "powerbomb"
          ],
          "requires": []
        },
        {
          "types": [
            "missiles",
            "super"
          ],
          "requires": [
            "never"
          ]
        }
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Come In Shinecharged, Leave With Spark (Long Way Around)",
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 102
        }
      },
      "requires": [
        "canShinechargeMovementTricky",
        {
          "shinespark": {
            "frames": 22
          }
        },
        {
          "or": [
            "f_KilledMetroidRoom2",
            "canMetroidAvoid"
          ]
        }
      ],
      "exitCondition": {
        "leaveWithSpark": {}
      },
      "unlocksDoors": [
        {
          "types": [
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "missiles",
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ]
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Already Cleared",
      "requires": [
        "f_KilledMetroidRoom2"
      ],
      "clearsObstacles": [
        "A"
      ]
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Ammo Kill",
      "requires": [
        "Ice",
        {
          "enemyKill": {
            "enemies": [
              [
                "Metroid",
                "Metroid"
              ]
            ],
            "explicitWeapons": [
              "Super",
              "Missile"
            ]
          }
        }
      ],
      "clearsObstacles": [
        "A"
      ]
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Tank and PB Kill",
      "requires": [
        {
          "enemyKill": {
            "enemies": [
              [
                "Metroid",
                "Metroid"
              ]
            ],
            "explicitWeapons": [
              "PowerBomb"
            ]
          }
        },
        {
          "metroidFrames": 400
        }
      ],
      "clearsObstacles": [
        "A"
      ]
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Metroid Room 2 PB Dodge Kill (Bottom to Top)",
      "notable": true,
      "requires": [
        {
          "enemyKill": {
            "enemies": [
              [
                "Metroid",
                "Metroid"
              ]
            ],
            "explicitWeapons": [
              "PowerBomb"
            ]
          }
        },
        "canMetroidAvoid"
      ],
      "clearsObstacles": [
        "A"
      ],
      "note": "Kill the two Metroids with Power Bombs while avoiding damage."
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Ice Evade",
      "requires": [
        "Ice"
      ]
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Screw Evade",
      "requires": [
        {
          "or": [
            {
              "and": [
                "ScrewAttack",
                "canDodgeWhileShooting"
              ]
            },
            {
              "and": [
                "canPseudoScrew",
                "canPrepareForNextRoom",
                "canDodgeWhileShooting"
              ]
            }
          ]
        }
      ],
      "note": "Use ScrewAttack or a PseudoScrew to prevent Metroids from attaching to Samus."
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Metroid Room 2 Bottom Door Metroid Avoid",
      "notable": true,
      "requires": [
        "canMetroidAvoid"
      ],
      "note": [
        "Buffer a spinjump towards the door to jump over the top metroid and land on the middle platform.",
        "Metroids can be knocked with Beam shots to clear a path."
      ]
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Tank the Damage",
      "requires": [
        {
          "metroidFrames": 120
        }
      ]
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Very Deep Stuck X-Ray Climb With Immobile",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "direct",
          "morphed": false,
          "mobility": "immobile"
        }
      },
      "requires": [
        "f_KilledMetroidRoom2",
        {
          "enemyDamage": {
            "enemy": "Rinka",
            "type": "contact",
            "hits": 1
          }
        },
        "canXRayClimb"
      ],
      "bypassesDoorShell": true,
      "note": [
        "Enter immobile with G-mode direct, with the Metroids having been killed previously.",
        "Take a Rinka hit to regain mobility.",
        "Back up to between 1 and 6 pixels from the door transition, and activate X-ray to get very deep stuck in the door.",
        "Climb up 1 screen, moving quickly to minimize Rinka damage.",
        "Perform a turnaround buffered spin-jump away from the door to trigger the transition, bypassing any lock on the door."
      ],
      "devNote": [
        "The 'immobile' requirement in the entranceCondition is not necessary but is included for clarity.",
        "Without coming in immobile, it would not be possible to have enough energy to survive the Rinka hit.",
        "The enemyDamage in this strat is for a second Rinka hit while climbing.",
        "The first Rinka hit is included in the gModeImmobile requirement."
      ]
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Very Deep Stuck X-Ray Climb With Ice",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "direct",
          "morphed": false
        }
      },
      "requires": [
        "Ice",
        "canXRayClimb"
      ],
      "bypassesDoorShell": true,
      "note": [
        "Enter with G-mode direct, and quickly freeze the Metroids (if still alive) and Rinkas.",
        "Back up to between 1 and 6 pixels from the door transition, and activate X-ray to get very deep stuck in the door.",
        "Climb up 1 screen, moving quickly to avoid Rinka damage.",
        "Perform a turnaround buffered spin-jump away from the door to trigger the transition, bypassing any lock on the door."
      ]
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Very Deep Stuck X-Ray Climb With Crystal Flash",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "direct",
          "morphed": false
        }
      },
      "requires": [
        "h_canCrystalFlash",
        {
          "autoReserveTrigger": {}
        },
        "canXRayClimb",
        {
          "enemyDamage": {
            "enemy": "Rinka",
            "type": "contact",
            "hits": 1
          }
        }
      ],
      "bypassesDoorShell": true,
      "note": [
        "Enter with G-mode direct, using artificial morph to avoid the Metroids if they are still alive.",
        "Go to the top of the room and Crystal Flash, with the Metroids stuck below (if alive).",
        "The Crystal Flash will leave behind a light orb, which can be used to kill the Metroids.",
        "Use the Rinkas to damage down.",
        "For the final hit that will trigger auto-reserves, stand in the open doorway between 1 and 6 pixels from the transition.",
        "The auto reserve trigger will cancel G-mode and close the door on top of Samus.",
        "Climb up 1 screen, moving quickly to minimize Rinka damage.",
        "Perform a turnaround buffered spin-jump away from the door to trigger the transition, bypassing any lock on the door."
      ]
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Come in Shinecharging, Leave With Spark (Left Side)",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 2,
          "openEnd": 0
        }
      },
      "requires": [
        "canShinechargeMovementComplex",
        {
          "shinespark": {
            "frames": 7
          }
        },
        "f_KilledMetroidRoom2"
      ],
      "exitCondition": {
        "leaveWithSpark": {}
      },
      "unlocksDoors": [
        {
          "types": [
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "missiles",
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ],
      "note": [
        "Not pressing dash will make the platforming easier, unless HiJump is also equipped."
      ],
      "devNote": "Metroids randomly block shots fired and can make opening the door unreliable."
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Come in Shinecharging, Leave Shinecharged (HiJump)",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 2,
          "openEnd": 0
        }
      },
      "requires": [
        "canShinechargeMovementComplex",
        "HiJump",
        "canCarefulJump",
        {
          "or": [
            "f_KilledMetroidRoom2",
            {
              "and": [
                "canMetroidAvoid",
                "canShinechargeMovementTricky"
              ]
            }
          ]
        }
      ],
      "exitCondition": {
        "leaveShinecharged": {
          "framesRemaining": 50
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "missiles",
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ],
      "note": [
        "Spinjump into the opening below the top door."
      ],
      "devNote": "Metroids randomly block shots fired and can make opening the door unreliable."
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Come in Shinecharging, Leave Shinecharged (Morph)",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 2,
          "openEnd": 0
        }
      },
      "requires": [
        "canShinechargeMovementComplex",
        "canWallJumpInstantMorph",
        "f_KilledMetroidRoom2"
      ],
      "exitCondition": {
        "leaveShinecharged": {
          "framesRemaining": 30
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "missiles",
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ],
      "note": [
        "Wall jump up the right wall and either mid-air morph to fit through the gap below the top door.",
        "Alternatively use a mid-air wiggle to reduce the height of Samus' hitbox after the walljump, to be able to fit through the gap without morphing."
      ],
      "devNote": "Metroids randomly block shots fired and can make opening the door unreliable."
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Come in Shinecharging, Leave Shinecharged (Wiggle)",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 2,
          "openEnd": 0
        }
      },
      "requires": [
        "canWalljump",
        "canMidairWiggle",
        "canShinechargeMovementTricky",
        "f_KilledMetroidRoom2"
      ],
      "exitCondition": {
        "leaveShinecharged": {
          "framesRemaining": 50
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "missiles",
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ],
      "note": [
        "Use a mid-air wiggle to reduce the height of Samus' hitbox after the walljump, to be able to fit through the gap without morphing."
      ],
      "devNote": "Metroids randomly block shots fired and can make opening the door unreliable."
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Carry Shinecharge (HiJump)",
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 105
        }
      },
      "requires": [
        "HiJump",
        "canCarefulJump",
        "canShinechargeMovementComplex",
        {
          "or": [
            "f_KilledMetroidRoom2",
            "canMetroidAvoid"
          ]
        }
      ],
      "exitCondition": {
        "leaveShinecharged": {
          "framesRemaining": "auto"
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "missiles",
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ],
      "note": [
        "Spinjump into the opening below the top door."
      ]
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Carry Shinecharge (Morph)",
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 140
        }
      },
      "requires": [
        "canWallJumpInstantMorph",
        "canShinechargeMovementComplex",
        {
          "or": [
            "f_KilledMetroidRoom2",
            "canMetroidAvoid"
          ]
        }
      ],
      "exitCondition": {
        "leaveShinecharged": {
          "framesRemaining": "auto"
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "missiles",
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ],
      "note": [
        "Wall jump up the right wall and either mid-air morph to fit through the gap below the top door.",
        "Alternatively use a mid-air wiggle to reduce the height of Samus' hitbox after the walljump, to be able to fit through the gap without morphing."
      ]
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Carry Shinecharge (Wiggle)",
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 120
        }
      },
      "requires": [
        "canWalljump",
        "canMidairWiggle",
        "canShinechargeMovementTricky",
        {
          "or": [
            "f_KilledMetroidRoom2",
            "canMetroidAvoid"
          ]
        }
      ],
      "exitCondition": {
        "leaveShinecharged": {
          "framesRemaining": "auto"
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "missiles",
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ],
      "note": [
        "Wall jump up the right wall and use a mid-air wiggle to reduce the height of Samus' hitbox after the walljump, to be able to fit through the gap without morphing."
      ]
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Come in Shinecharged, Leave With Spark (HiJump)",
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 80
        }
      },
      "requires": [
        "HiJump",
        "canCarefulJump",
        "canShinechargeMovementComplex",
        {
          "shinespark": {
            "frames": 6
          }
        },
        {
          "or": [
            "f_KilledMetroidRoom2",
            "canMetroidAvoid"
          ]
        }
      ],
      "exitCondition": {
        "leaveWithSpark": {}
      },
      "unlocksDoors": [
        {
          "types": [
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "missiles",
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ],
      "note": [
        "Spinjump into the opening below the top door."
      ]
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Come in Shinecharged, Leave With Spark (Morph)",
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 110
        }
      },
      "requires": [
        "canWallJumpInstantMorph",
        "canShinechargeMovementComplex",
        {
          "shinespark": {
            "frames": 5
          }
        },
        {
          "or": [
            "f_KilledMetroidRoom2",
            "canMetroidAvoid"
          ]
        }
      ],
      "exitCondition": {
        "leaveWithSpark": {}
      },
      "unlocksDoors": [
        {
          "types": [
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "missiles",
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ],
      "note": [
        "Wall jump up the right wall and either mid-air morph to fit through the gap below the top door.",
        "Alternatively use a mid-air wiggle to reduce the height of Samus' hitbox after the walljump, to be able to fit through the gap without morphing.",
        "Shoot the door open and spark out."
      ]
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Come in Shinecharged, Leave With Spark (Wiggle)",
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 105
        }
      },
      "requires": [
        "canWalljump",
        "canMidairWiggle",
        "canShinechargeMovementTricky",
        {
          "shinespark": {
            "frames": 5
          }
        },
        {
          "or": [
            "f_KilledMetroidRoom2",
            "canMetroidAvoid"
          ]
        }
      ],
      "exitCondition": {
        "leaveWithSpark": {}
      },
      "unlocksDoors": [
        {
          "types": [
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "missiles",
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ],
      "note": [
        "Wall jump up the right wall and use a mid-air wiggle to reduce the height of Samus' hitbox after the walljump, to be able to fit through the gap without morphing.",
        "Shoot the door open and spark out."
      ]
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Leave with Runway",
      "requires": [
        {
          "or": [
            "f_KilledMetroidRoom2",
            "Ice",
            {
              "and": [
                {
                  "enemyDamage": {
                    "enemy": "Rinka",
                    "type": "contact",
                    "hits": 1
                  }
                },
                {
                  "metroidFrames": 22
                }
              ]
            }
          ]
        }
      ],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 3,
          "openEnd": 1
        }
      },
      "devNote": "FIXME: Is it worth adding a method with avoiding the Metroids?"
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Leave With Runway - Frozen Rinka",
      "requires": [
        "h_canTrickyFrozenEnemyRunway"
      ],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 5,
          "openEnd": 0
        }
      },
      "note": [
        "Kill or lure and freeze the Metroids at the top of the room.",
        "It may be easiest to stand on a frozen Rinka from the left spawner to position a freeze of the other Rinka.",
        "It is possible maintain a half-tile gap between the Rinka and the runway in order to extend it as far as possible."
      ]
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Crystal Flash",
      "requires": [
        {
          "obstaclesCleared": [
            "A"
          ]
        },
        "h_canCrystalFlash",
        {
          "enemyDamage": {
            "enemy": "Rinka",
            "type": "contact",
            "hits": 1
          }
        }
      ],
      "note": [
        "To avoid heavy Rinka damage, you must perform the Crystal Flash on a specific tile: on the third floor tile from the left wall.",
        "Lay the Power Bomb immediately after destroying both Rinkas."
      ]
    },
    {
      "link": [
        2,
        2
      ],
      "name": "G-Mode Setup - Get Hit By Rinka",
      "notable": false,
      "requires": [
        {
          "or": [
            "canMetroidAvoid",
            "canUseFrozenEnemies",
            "ScrewAttack",
            "f_KilledMetroidRoom2"
          ]
        }
      ],
      "exitCondition": {
        "leaveWithGModeSetup": {}
      },
      "note": [
        "If the Metroids are alive, lure them off screen."
      ]
    },
    {
      "link": [
        2,
        2
      ],
      "name": "G-Mode Setup - Get Hit By Metroid",
      "notable": false,
      "requires": [
        {
          "not": "f_KilledMetroidRoom2"
        },
        "canRiskPermanentLossOfAccess"
      ],
      "exitCondition": {
        "leaveWithGModeSetup": {
          "knockback": false
        }
      }
    },
    {
      "link": [
        2,
        2
      ],
      "name": "G-Mode Regain Mobility",
      "requires": [
        {
          "enemyDamage": {
            "enemy": "Rinka",
            "type": "contact",
            "hits": 1
          }
        },
        {
          "or": [
            "f_KilledMetroidRoom2",
            {
              "metroidFrames": 120
            }
          ]
        }
      ],
      "gModeRegainMobility": {},
      "note": "If alive, the Metroids do 90 damage before the Rinka hits."
    },
    {
      "link": [
        2,
        2
      ],
      "name": "G-Mode Morph Power Bomb Metroid Kill",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": true,
          "mobility": "mobile"
        }
      },
      "requires": [
        "canMetroidAvoid",
        "h_canArtificialMorphSpringBall",
        "h_canArtificialMorphPowerBomb",
        "h_canArtificialMorphPowerBomb",
        "h_canArtificialMorphPowerBomb"
      ],
      "clearsObstacles": [
        "A"
      ],
      "note": [
        "Quickly artificial morph and roll off to the bottom before being grabbed by the Metroids.",
        "This is much easier in indirect artificial morph.",
        "Note that it is necessary to exit G-Mode before exiting the room in order for the Metroids to remain killed."
      ],
      "devNote": "FIXME: This can be done in immobile, but probably never matters, since it will require so much energy."
    },
    {
      "name": "Base",
      "notable": false,
      "requires": [
        {
          "obstaclesCleared": [
            "A"
          ]
        }
      ],
      "link": [
        2,
        3
      ]
    },
    {
      "link": [
        3,
        2
      ],
      "name": "Base",
      "notable": false,
      "requires": []
    }
  ]
}