Red Tower

Room ID: 66

Wiki
Difficulty filter

From: 1
Top Left Door
To: 1
Top Left Door

Requires:

{
  "or": [
    "ScrewAttack",
    "h_canUseMorphBombs",
    {
      "resourceCapacity": [
        {
          "type": "Missile",
          "count": 1
        }
      ]
    },
    {
      "resourceCapacity": [
        {
          "type": "Super",
          "count": 1
        }
      ]
    }
  ]
}
{
  "refill": [
    "Energy",
    "Missile",
    "Super",
    "PowerBomb"
  ]
}
From: 1
Top Left Door
To: 1
Top Left Door

Requires:

{
  "refill": [
    "Energy",
    "Missile",
    "Super"
  ]
}
From: 1
Top Left Door
To: 1
Top Left Door

Exit condition:

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

Grab the Beetom and freeze it to extend the runway at the top left door; this is easiest with HiJump disabled. It is optimal to leave a half-tile gap in order to extend the runway as much as possible. After freezing the Beetom, it is possible to go down and farm, while returning to refreeze the Beetom.

Requires:

"h_canFrozenEnemyRunway"

Exit condition:

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

Bring the Beetom close to the door and begin Moondancing. Stop after exactly 175 moonfalls, so as not to fall through the floor.

Requires:

{
  "obstaclesNotCleared": [
    "A"
  ]
}
"canMoondance"
"canTrickyUseFrozenEnemies"
{
  "enemyDamage": {
    "enemy": "Beetom",
    "type": "contact",
    "hits": 4
  }
}

Exit condition:

{
  "leaveWithStoredFallSpeed": {
    "fallSpeedInTiles": 1
  }
}
From: 1
Top Left Door
To: 1
Top Left Door

Notable: true

Bring the Beetom close to the door and begin Moondancing. Stop after exactly 175 moonfalls, so as not to fall through the floor. Freeze the Beetom inside the door frame and Moondance such that Samus does not fall through the floor and does not touch the door transition.

Requires:

{
  "obstaclesNotCleared": [
    "A"
  ]
}
"canExtendedMoondance"
"canTrickyUseFrozenEnemies"
{
  "enemyDamage": {
    "enemy": "Beetom",
    "type": "contact",
    "hits": 5
  }
}
"h_ExtendedMoondanceBeetomLeniency"

Exit condition:

{
  "leaveWithStoredFallSpeed": {
    "fallSpeedInTiles": 2
  }
}
From: 1
Top Left Door
To: 1
Top Left Door

Requires:

{
  "obstaclesNotCleared": [
    "A"
  ]
}
{
  "enemyDamage": {
    "enemy": "Beetom",
    "type": "contact",
    "hits": 5
  }
}

Exit condition:

{
  "leaveWithGModeSetup": {
    "knockback": false
  }
}
Base (Basic)
Red Tower
From: 1
Top Left Door
To: 2
Middle Left Door (Behind Power Bomb Blocks)

Requires:

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

Clears obstacles: A

From: 1
Top Left Door
To: 2
Middle Left Door (Behind Power Bomb Blocks)

Either place a Power Bomb on the ledge with the Geega bug farms, to only break the top row of blocks and not kill the Beetom, or move the Beetom to safety by shaking it off at a higher platform before breaking the Power Bomb blocks.

Requires:

{
  "obstaclesNotCleared": [
    "A"
  ]
}
"h_canUsePowerBombs"
{
  "enemyDamage": {
    "enemy": "Beetom",
    "type": "contact",
    "hits": 1
  }
}

Exit condition:

{
  "leaveWithGModeSetup": {
    "knockback": false
  }
}
From: 1
Top Left Door
To: 2
Middle Left Door (Behind Power Bomb Blocks)

Entrance condition:

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

Requires:

"h_canArtificialMorphPowerBomb"

Clears obstacles: A

From: 1
Top Left Door
To: 2
Middle Left Door (Behind Power Bomb Blocks)

Notable: true

Gain R-mode while entering the room. Use the respawning bugs to refill reserve energy. Get grabbed by the Beetom and carry it to the 4-tile high gap one screen above the bottom-left door. Position Samus one pixel to the right of being against the wall. Jump and aim down, reaching the ceiling at the same time that reserves are triggered. This will force Samus to stand up, briefly clipping into the wall above. Immediately freeze the Beetom inside the wall, by buffering a shot during the reserve trigger. Use a Ripper to get knocked back onto the frozen Beetom. This will clip Samus one pixel left into the wall, making it possible to X-ray climb. X-ray climb up 2 screens.

Entrance condition:

{
  "comeInWithRMode": {}
}

Requires:

{
  "enemyDamage": {
    "enemy": "Beetom",
    "type": "contact",
    "hits": 1
  }
}
{
  "enemyDamage": {
    "enemy": "Ripper",
    "type": "contact",
    "hits": 1
  }
}
"canWallIceClip"
"canXRayClimb"
From: 1
Top Left Door
To: 2
Middle Left Door (Behind Power Bomb Blocks)

Collect the Beetom and freeze it above and left of the Power Bomb Blocks in a way that Samus will be able to Moondance. Moondance until Samus falls through two tiles, then Moonfall again to sink through the solid blocks and reach the door.

Requires:

{
  "obstaclesNotCleared": [
    "A"
  ]
}
"canExtendedMoondance"
"canTrickyUseFrozenEnemies"
{
  "enemyDamage": {
    "enemy": "Beetom",
    "type": "contact",
    "hits": 3
  }
}
"h_ExtendedMoondanceBeetomLeniency"
From: 1
Top Left Door
To: 2
Middle Left Door (Behind Power Bomb Blocks)

Break the Power Bomb Blocks without killing the Beetom Freeze a Beetom at head height where Samus can Spinjump into it and begin Moondancing. If needed, the Beetom can be left at the door while Samus moves to the farm bugs.

Requires:

{
  "obstaclesNotCleared": [
    "A"
  ]
}
"h_canUsePowerBombs"
"canMoondance"
"canTrickyUseFrozenEnemies"
{
  "enemyDamage": {
    "enemy": "Beetom",
    "type": "contact",
    "hits": 2
  }
}

Exit condition:

{
  "leaveWithStoredFallSpeed": {
    "fallSpeedInTiles": 1
  }
}
From: 1
Top Left Door
To: 2
Middle Left Door (Behind Power Bomb Blocks)

Break the Power Bomb Blocks without killing the Beetom Freeze a Beetom at head height where Samus can Spinjump into it and begin Moondancing. After 175 Moonfalls, reposition the Beetom to chest height. If needed, the Beetom can be left at the door while Samus moves to the farm bugs.

Requires:

{
  "obstaclesNotCleared": [
    "A"
  ]
}
"h_canUsePowerBombs"
"canExtendedMoondance"
"canTrickyUseFrozenEnemies"
{
  "enemyDamage": {
    "enemy": "Beetom",
    "type": "contact",
    "hits": 2
  }
}
"h_ExtendedMoondanceBeetomLeniency"

Exit condition:

{
  "leaveWithStoredFallSpeed": {
    "fallSpeedInTiles": 2
  }
}
From: 1
Top Left Door
To: 3
Bottom Left Door

Requires:

{
  "obstaclesNotCleared": [
    "A"
  ]
}
{
  "enemyDamage": {
    "enemy": "Beetom",
    "type": "contact",
    "hits": 5
  }
}

Exit condition:

{
  "leaveWithGModeSetup": {
    "knockback": false
  }
}
From: 1
Top Left Door
To: 3
Bottom Left Door

Freeze a Beetom at head height where Samus can Spinjump into it and begin Moondancing. If needed, the Beetom can be left at the door while Samus moves to the farm bugs.

Requires:

{
  "obstaclesNotCleared": [
    "A"
  ]
}
"canMoondance"
"canTrickyUseFrozenEnemies"
{
  "enemyDamage": {
    "enemy": "Beetom",
    "type": "contact",
    "hits": 2
  }
}

Exit condition:

{
  "leaveWithStoredFallSpeed": {
    "fallSpeedInTiles": 1
  }
}
From: 1
Top Left Door
To: 3
Bottom Left Door

Freeze a Beetom at head height where Samus can Spinjump into it and begin Moondancing. After 175 Moonfalls, reposition the Beetom to chest height. If needed, the Beetom can be left at the door while Samus moves to the farm bugs.

Requires:

{
  "obstaclesNotCleared": [
    "A"
  ]
}
"canExtendedMoondance"
"canTrickyUseFrozenEnemies"
{
  "enemyDamage": {
    "enemy": "Beetom",
    "type": "contact",
    "hits": 2
  }
}
"h_ExtendedMoondanceBeetomLeniency"

Exit condition:

{
  "leaveWithStoredFallSpeed": {
    "fallSpeedInTiles": 2
  }
}
From: 1
Top Left Door
To: 4
Bottom Right Door

Requires:

{
  "obstaclesNotCleared": [
    "A"
  ]
}
{
  "enemyDamage": {
    "enemy": "Beetom",
    "type": "contact",
    "hits": 5
  }
}

Exit condition:

{
  "leaveWithGModeSetup": {
    "knockback": false
  }
}
From: 1
Top Left Door
To: 4
Bottom Right Door

Freeze a Beetom at head height where Samus can Spinjump into it and begin Moondancing. If needed, the Beetom can be left at the door while Samus moves to the farm bugs.

Requires:

{
  "obstaclesNotCleared": [
    "A"
  ]
}
"canMoondance"
"canTrickyUseFrozenEnemies"
{
  "enemyDamage": {
    "enemy": "Beetom",
    "type": "contact",
    "hits": 6
  }
}

Exit condition:

{
  "leaveWithStoredFallSpeed": {
    "fallSpeedInTiles": 1
  }
}
From: 1
Top Left Door
To: 4
Bottom Right Door

Freeze a Beetom at head height where Samus can Spinjump into it and begin Moondancing. After 175 Moonfalls, reposition the Beetom to chest height. If needed, the Beetom can be left at the door while Samus moves to the farm bugs.

Requires:

{
  "obstaclesNotCleared": [
    "A"
  ]
}
"canExtendedMoondance"
"canTrickyUseFrozenEnemies"
{
  "enemyDamage": {
    "enemy": "Beetom",
    "type": "contact",
    "hits": 6
  }
}
"h_ExtendedMoondanceBeetomLeniency"

Exit condition:

{
  "leaveWithStoredFallSpeed": {
    "fallSpeedInTiles": 2
  }
}
From: 1
Top Left Door
To: 5
Top Right Door

Freeze a Beetom at head height where Samus can Spinjump into it and begin Moondancing. If needed, the Beetom can be left at the door while Samus moves to the farm bugs.

Requires:

{
  "obstaclesNotCleared": [
    "A"
  ]
}
{
  "or": [
    "HiJump",
    "SpaceJump",
    "canWalljump"
  ]
}
"canMoondance"
"canTrickyUseFrozenEnemies"
{
  "enemyDamage": {
    "enemy": "Beetom",
    "type": "contact",
    "hits": 6
  }
}

Exit condition:

{
  "leaveWithStoredFallSpeed": {
    "fallSpeedInTiles": 1
  }
}
From: 1
Top Left Door
To: 5
Top Right Door

Freeze a Beetom at head height where Samus can Spinjump into it and begin Moondancing. After 175 Moonfalls, reposition the Beetom to chest height. If needed, the Beetom can be left at the door while Samus moves to the farm bugs.

Requires:

{
  "obstaclesNotCleared": [
    "A"
  ]
}
{
  "or": [
    "HiJump",
    "SpaceJump",
    "canWalljump"
  ]
}
"canExtendedMoondance"
"canTrickyUseFrozenEnemies"
{
  "enemyDamage": {
    "enemy": "Beetom",
    "type": "contact",
    "hits": 6
  }
}
"h_ExtendedMoondanceBeetomLeniency"

Exit condition:

{
  "leaveWithStoredFallSpeed": {
    "fallSpeedInTiles": 2
  }
}
From: 1
Top Left Door
To: 5
Top Right Door

Entrance condition:

{
  "comeInShinecharged": {
    "framesRequired": 1
  }
}

Requires:

{
  "shinespark": {
    "frames": 68,
    "excessFrames": 20
  }
}
"canUseFrozenEnemies"
From: 1
Top Left Door
To: 5
Top Right Door

Entrance condition:

{
  "comeInShinecharged": {
    "framesRequired": 20
  }
}

Requires:

{
  "shinespark": {
    "frames": 68,
    "excessFrames": 29
  }
}
"canUseFrozenEnemies"
From: 1
Top Left Door
To: 5
Top Right Door

Entrance condition:

{
  "comeInShinecharged": {
    "framesRequired": 50
  }
}

Requires:

"canMidairShinespark"
{
  "shinespark": {
    "frames": 60,
    "excessFrames": 28
  }
}
"canUseFrozenEnemies"
From: 1
Top Left Door
To: 5
Top Right Door

Entrance condition:

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

Requires:

{
  "or": [
    {
      "shinespark": {
        "frames": 68,
        "excessFrames": 29
      }
    },
    {
      "and": [
        "canMidairShinespark",
        {
          "shinespark": {
            "frames": 60,
            "excessFrames": 28
          }
        }
      ]
    }
  ]
}
"canUseFrozenEnemies"
From: 1
Top Left Door
To: 5
Top Right Door

Notable: true

Come in shinecharged from the top left door. With missiles selected, position Samus roughly in the horizontal center of the room. Crouch, aim up, then in very quick succession, shoot a missile upwards then spark up. If done correctly, Samus will pass the Missile, break the bomb block platforms, then be passed by the Missile which will break the shot blocks at the top.

Entrance condition:

{
  "comeInShinecharged": {
    "framesRequired": 100
  }
}

Requires:

"canHeroShot"
{
  "shinespark": {
    "frames": 77,
    "excessFrames": 3
  }
}
{
  "ammo": {
    "type": "Missile",
    "count": 1
  }
}
From: 1
Top Left Door
To: 5
Top Right Door

Notable: true

Come in shinecharging from the top left door. With missiles selected, position Samus roughly in the horizontal center of the room. Crouch, aim up, then in very quick succession, shoot a missile upwards then spark up. If done correctly, Samus will pass the Missile, break the bomb block platforms, then be passed by the Missile which will break the shot blocks at the top.

Entrance condition:

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

Requires:

"canHeroShot"
{
  "shinespark": {
    "frames": 77,
    "excessFrames": 3
  }
}
{
  "ammo": {
    "type": "Missile",
    "count": 1
  }
}
From: 1
Top Left Door
To: 5
Top Right Door

Entrance condition:

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

Bypasses door shell: true

From: 1
Top Left Door
To: 5
Top Right Door

Entrance condition:

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

Exit condition:

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

Bypasses door shell: true

From: 1
Top Left Door
To: 5
Top Right Door

Entrance condition:

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

Exit condition:

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

Bypasses door shell: true

Base (Basic)
Red Tower
From: 1
Top Left Door
To: 6
Junction (Above Bottom Rippers)

Base (Basic)
Red Tower
From: 1
Top Left Door
To: 9
Junction (Top Rippers)

Requires:

{
  "or": [
    "HiJump",
    "h_canFly",
    "canWalljump"
  ]
}
From: 1
Top Left Door
To: 9
Junction (Top Rippers)

Notable: true

Freeze the Beetom and use it as a platform to climb the room without wall jumps. This can be done with well-timed Flatley jumps on top of the frozen Beetom, by turning around and spin jumping just as it unfreezes. This can be made easier (at the cost of some additional Beetom hits) with a pause-buffer method: Press pause, and begin a turn-around just before the pause hits; unequip Ice to immediately unfreeze the Beetom; unpause and press jump quickly after control resumes, but without buffering the input. For the top two jumps, it is possible to reduce the risk of damage by freezing the Beetom against the wall: in case of a failure due to an early (e.g. buffered) jump, the Beetom may stay stuck wiggling in the wall, and then it can be refrozen without needing to take damage to reposition it.

Requires:

"canTrickyUseFrozenEnemies"
"canFlatleyJump"
{
  "or": [
    {
      "enemyDamage": {
        "enemy": "Beetom",
        "type": "contact",
        "hits": 9
      }
    },
    {
      "and": [
        "canInsaneJump",
        {
          "enemyDamage": {
            "enemy": "Beetom",
            "type": "contact",
            "hits": 4
          }
        }
      ]
    },
    {
      "and": [
        "canBeVeryPatient",
        {
          "enemyDamage": {
            "enemy": "Beetom",
            "type": "contact",
            "hits": 1
          }
        },
        {
          "refill": [
            "Energy"
          ]
        }
      ]
    }
  ]
}
Base (Basic)
Red Tower
From: 2
Middle Left Door (Behind Power Bomb Blocks)
To: 1
Top Left Door

Requires:

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

Clears obstacles: A

From: 2
Middle Left Door (Behind Power Bomb Blocks)
To: 1
Top Left Door

This is a short climb of only a few tiles.

Entrance condition:

{
  "comeInWithDoorStuckSetup": {}
}

Requires:

"canXRayClimb"
From: 2
Middle Left Door (Behind Power Bomb Blocks)
To: 1
Top Left Door

Enter with G-mode direct, 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 2 screens, and 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:

"canXRayClimb"

Bypasses door shell: true

From: 2
Middle Left Door (Behind Power Bomb Blocks)
To: 2
Middle Left Door (Behind Power Bomb Blocks)

Exit condition:

{
  "leaveWithRunway": {
    "length": 3,
    "openEnd": 0
  }
}
Crystal Flash (Very Hard)
Red Tower
From: 2
Middle Left Door (Behind Power Bomb Blocks)
To: 2
Middle Left Door (Behind Power Bomb Blocks)

Requires:

"h_canCrystalFlash"

Clears obstacles: A

From: 2
Middle Left Door (Behind Power Bomb Blocks)
To: 2
Middle Left Door (Behind Power Bomb Blocks)

Entrance condition:

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

Requires:

"h_canArtificialMorphPowerBomb"

Clears obstacles: A

From: 2
Middle Left Door (Behind Power Bomb Blocks)
To: 5
Top Right Door

Entrance condition:

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

Bypasses door shell: true

From: 2
Middle Left Door (Behind Power Bomb Blocks)
To: 5
Top Right Door

Entrance condition:

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

Exit condition:

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

Bypasses door shell: true

From: 2
Middle Left Door (Behind Power Bomb Blocks)
To: 5
Top Right Door

Entrance condition:

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

Exit condition:

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

Bypasses door shell: true

From: 3
Bottom Left Door
To: 2
Middle Left Door (Behind Power Bomb Blocks)

Notable: true

Gain R-mode while entering the room. Use the respawning bugs to refill reserve energy. Get grabbed by the Beetom and carry it to the 4-tile high gap one screen above the bottom-left door. Position Samus one pixel to the right of being against the wall. Jump and aim down, reaching the ceiling at the same time that reserves are triggered. This will force Samus to stand up, briefly clipping into the wall above. Immediately freeze the Beetom inside the wall, by buffering a shot during the reserve trigger. Use a Ripper to get knocked back onto the frozen Beetom. This will clip Samus one pixel left into the wall, making it possible to X-ray climb. X-ray climb up 2 screens.

Entrance condition:

{
  "comeInWithRMode": {}
}

Requires:

{
  "or": [
    "canWalljump",
    "HiJump",
    "h_canFly",
    "canSpringBallJumpMidAir"
  ]
}
{
  "enemyDamage": {
    "enemy": "Beetom",
    "type": "contact",
    "hits": 1
  }
}
{
  "enemyDamage": {
    "enemy": "Ripper",
    "type": "contact",
    "hits": 1
  }
}
"canWallIceClip"
"canXRayClimb"
From: 3
Bottom Left Door
To: 3
Bottom Left Door

Exit condition:

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

Requires:

{
  "doorUnlockedAtNode": 4
}

Exit condition:

{
  "leaveWithRunway": {
    "length": 14,
    "openEnd": 0
  }
}
From: 3
Bottom Left Door
To: 4
Bottom Right Door

Entrance condition:

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

Exit condition:

{
  "leaveShinecharged": {
    "framesRemaining": 160
  }
}
From: 3
Bottom Left Door
To: 4
Bottom Right Door

Entrance condition:

{
  "comeInShinecharged": {
    "framesRequired": 55
  }
}

Exit condition:

{
  "leaveShinecharged": {
    "framesRemaining": "auto"
  }
}
From: 3
Bottom Left Door
To: 4
Bottom Right Door

Entrance condition:

{
  "comeInShinecharged": {
    "framesRequired": 10
  }
}

Requires:

{
  "shinespark": {
    "frames": 21
  }
}

Exit condition:

{
  "leaveWithSpark": {}
}
From: 3
Bottom Left Door
To: 4
Bottom Right Door

Entrance condition:

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

Exit condition:

{
  "leaveWithStoredFallSpeed": {
    "fallSpeedInTiles": 1
  }
}
From: 3
Bottom Left Door
To: 4
Bottom Right Door

Entrance condition:

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

Exit condition:

{
  "leaveWithStoredFallSpeed": {
    "fallSpeedInTiles": 2
  }
}
From: 3
Bottom Left Door
To: 5
Top Right Door

Entrance condition:

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

Bypasses door shell: true

From: 3
Bottom Left Door
To: 5
Top Right Door

Entrance condition:

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

Exit condition:

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

Bypasses door shell: true

From: 3
Bottom Left Door
To: 5
Top Right Door

Entrance condition:

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

Exit condition:

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

Bypasses door shell: true

From: 3
Bottom Left Door
To: 6
Junction (Above Bottom Rippers)

Entrance condition:

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

Requires:

{
  "shinespark": {
    "frames": 45,
    "excessFrames": 5
  }
}
From: 3
Bottom Left Door
To: 6
Junction (Above Bottom Rippers)

Entrance condition:

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

Requires:

{
  "shinespark": {
    "frames": 45,
    "excessFrames": 5
  }
}
From: 3
Bottom Left Door
To: 6
Junction (Above Bottom Rippers)

Use two Power Bombs to kill the Rippers, or carefully pass the first two and place a single Power Bomb on the left ledge to kill them all. Exit G-Mode before the Power Bomb explodes in order to break the wall.

Entrance condition:

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

Requires:

"h_canArtificialMorphIBJ"
"h_canArtificialMorphPowerBomb"
{
  "or": [
    "canTrickyJump",
    "h_canArtificialMorphPowerBomb"
  ]
}
"h_canArtificialMorphPowerBomb"

Clears obstacles: A

From: 3
Bottom Left Door
To: 6
Junction (Above Bottom Rippers)

Notable: true

Requires switching between single and double IBJs. While Doubles are not techincally necessary, they make the strat more bearable. Exit G-Mode before the Power Bomb explodes in order to break the wall. With an extra Power Bomb, it may be worthwhile to use it to kill some of the Rippers.

Entrance condition:

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

Requires:

"h_canArtificialMorphDoubleBombJump"
"h_canArtificialMorphStaggeredIBJ"
"h_canArtificialMorphPowerBomb"

Clears obstacles: A

From: 3
Bottom Left Door
To: 7
Junction (Bottom Rippers)

Perform a diagonal spark up to the right ledge.

Entrance condition:

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

Requires:

{
  "shinespark": {
    "frames": 34,
    "excessFrames": 10
  }
}
{
  "enemyDamage": {
    "enemy": "Ripper",
    "type": "contact",
    "hits": 1
  }
}
From: 3
Bottom Left Door
To: 7
Junction (Bottom Rippers)

Immediately perform a diagonal spark up to the right ledge on entry.

Entrance condition:

{
  "comeInShinecharged": {
    "framesRequired": 5
  }
}

Requires:

{
  "shinespark": {
    "frames": 34,
    "excessFrames": 10
  }
}
{
  "enemyDamage": {
    "enemy": "Ripper",
    "type": "contact",
    "hits": 1
  }
}
Base (Basic)
Red Tower
From: 3
Bottom Left Door
To: 8
Junction (Below Bottom Rippers)

From: 4
Bottom Right Door
To: 2
Middle Left Door (Behind Power Bomb Blocks)

Notable: true

Gain R-mode while entering the room. Use the respawning bugs to refill reserve energy. Get grabbed by the Beetom and carry it to the 4-tile high gap one screen above the bottom-left door. Position Samus one pixel to the right of being against the wall. Jump and aim down, reaching the ceiling at the same time that reserves are triggered. This will force Samus to stand up, briefly clipping into the wall above. Immediately freeze the Beetom inside the wall, by buffering a shot during the reserve trigger. Use a Ripper to get knocked back onto the frozen Beetom. This will clip Samus one pixel left into the wall, making it possible to X-ray climb. X-ray climb up 2 screens.

Entrance condition:

{
  "comeInWithRMode": {}
}

Requires:

{
  "or": [
    "canWalljump",
    "HiJump",
    "h_canFly",
    "canSpringBallJumpMidAir"
  ]
}
{
  "enemyDamage": {
    "enemy": "Beetom",
    "type": "contact",
    "hits": 1
  }
}
{
  "enemyDamage": {
    "enemy": "Ripper",
    "type": "contact",
    "hits": 1
  }
}
"canWallIceClip"
"canXRayClimb"
From: 4
Bottom Right Door
To: 3
Bottom Left Door

Entrance condition:

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

Exit condition:

{
  "leaveShinecharged": {
    "framesRemaining": 160
  }
}
From: 4
Bottom Right Door
To: 3
Bottom Left Door

Entrance condition:

{
  "comeInShinecharged": {
    "framesRequired": 55
  }
}

Exit condition:

{
  "leaveShinecharged": {
    "framesRemaining": "auto"
  }
}
From: 4
Bottom Right Door
To: 3
Bottom Left Door

Entrance condition:

{
  "comeInShinecharged": {
    "framesRequired": 10
  }
}

Requires:

{
  "shinespark": {
    "frames": 21
  }
}

Exit condition:

{
  "leaveWithSpark": {}
}
From: 4
Bottom Right Door
To: 3
Bottom Left Door

Entrance condition:

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

Exit condition:

{
  "leaveWithStoredFallSpeed": {
    "fallSpeedInTiles": 1
  }
}
From: 4
Bottom Right Door
To: 3
Bottom Left Door

Entrance condition:

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

Exit condition:

{
  "leaveWithStoredFallSpeed": {
    "fallSpeedInTiles": 2
  }
}
From: 4
Bottom Right Door
To: 4
Bottom Right Door

Exit condition:

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

Requires:

{
  "doorUnlockedAtNode": 3
}

Exit condition:

{
  "leaveWithRunway": {
    "length": 14,
    "openEnd": 0
  }
}
From: 4
Bottom Right Door
To: 5
Top Right Door

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        7,
        2
      ]
    ]
  }
}
From: 4
Bottom Right Door
To: 5
Top Right Door

Notable: true

After teleporting, Samus should be standing inside the wall. Retract Grapple by pressing up, which will pull Samus down and right. Hold right, and release Grapple while still holding right. Perform a turn-around spin jump (to the left). Then morph and roll out to the right.

Entrance condition:

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

Requires:

"Morph"
From: 4
Bottom Right Door
To: 6
Junction (Above Bottom Rippers)

Entrance condition:

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

Requires:

{
  "shinespark": {
    "frames": 45,
    "excessFrames": 5
  }
}
From: 4
Bottom Right Door
To: 6
Junction (Above Bottom Rippers)

Entrance condition:

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

Requires:

{
  "shinespark": {
    "frames": 45,
    "excessFrames": 5
  }
}
From: 4
Bottom Right Door
To: 6
Junction (Above Bottom Rippers)

Use two Power Bombs to kill the Rippers, or carefully pass the first two and place a single Power Bomb on the left ledge to kill them all. Exit G-Mode before the Power Bomb explodes in order to break the wall.

Entrance condition:

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

Requires:

"h_canArtificialMorphIBJ"
"h_canArtificialMorphPowerBomb"
{
  "or": [
    "canTrickyJump",
    "h_canArtificialMorphPowerBomb"
  ]
}
"h_canArtificialMorphPowerBomb"

Clears obstacles: A

From: 4
Bottom Right Door
To: 6
Junction (Above Bottom Rippers)

Notable: true

Requires switching between single and double IBJs. While Doubles are not techincally necessary, they make the strat more bearable. Exit G-Mode before the Power Bomb explodes in order to break the wall. With an extra Power Bomb, it may be worthwhile to use it to kill some of the Rippers.

Entrance condition:

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

Requires:

"h_canArtificialMorphDoubleBombJump"
"h_canArtificialMorphStaggeredIBJ"
"h_canArtificialMorphPowerBomb"

Clears obstacles: A

From: 4
Bottom Right Door
To: 7
Junction (Bottom Rippers)

Perform a diagonal spark up to the right ledge.

Entrance condition:

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

Requires:

{
  "shinespark": {
    "frames": 34,
    "excessFrames": 10
  }
}
{
  "enemyDamage": {
    "enemy": "Ripper",
    "type": "contact",
    "hits": 1
  }
}
From: 4
Bottom Right Door
To: 7
Junction (Bottom Rippers)

Immediately perform a diagonal spark up to the right ledge on entry.

Entrance condition:

{
  "comeInShinecharged": {
    "framesRequired": 5
  }
}

Requires:

{
  "shinespark": {
    "frames": 34,
    "excessFrames": 10
  }
}
{
  "enemyDamage": {
    "enemy": "Ripper",
    "type": "contact",
    "hits": 1
  }
}
Base (Basic)
Red Tower
From: 4
Bottom Right Door
To: 8
Junction (Below Bottom Rippers)

From: 5
Top Right Door
To: 2
Middle Left Door (Behind Power Bomb Blocks)

Notable: true

Gain R-mode while entering the room. Use the respawning bugs to refill reserve energy. Get grabbed by the Beetom and carry it to the 4-tile high gap one screen above the bottom-left door. Position Samus one pixel to the right of being against the wall. Jump and aim down, reaching the ceiling at the same time that reserves are triggered. This will force Samus to stand up, briefly clipping into the wall above. Immediately freeze the Beetom inside the wall, by buffering a shot during the reserve trigger. Use a Ripper to get knocked back onto the frozen Beetom. This will clip Samus one pixel left into the wall, making it possible to X-ray climb. X-ray climb up 2 screens.

Entrance condition:

{
  "comeInWithRMode": {}
}

Requires:

{
  "enemyDamage": {
    "enemy": "Beetom",
    "type": "contact",
    "hits": 1
  }
}
{
  "enemyDamage": {
    "enemy": "Ripper",
    "type": "contact",
    "hits": 1
  }
}
"canWallIceClip"
"canXRayClimb"
Crystal Flash (Very Hard)
Red Tower
From: 5
Top Right Door
To: 5
Top Right Door

Requires:

"h_canCrystalFlash"
From: 5
Top Right Door
To: 5
Top Right Door

Exit condition:

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

Without any suits or tanks, Samus will need to move the Beetom part way up the room, shake it off, and go back and farm multiple times. While the Beetom is near the top section, by the Rippers, shake the Beetom off, and re-grab it and ascend the shaft. Either use frozen Rippers as platforms, while shooting diagonally to prevent freezing the Beetom, or kill the Rippers before ascending. Be careful not to apply too many inputs after grabbing the Beetom in order to get to the top before it is shaken off.

Requires:

{
  "obstaclesNotCleared": [
    "A"
  ]
}
"HiJump"
{
  "or": [
    "canUseFrozenEnemies",
    {
      "and": [
        "SpaceJump",
        {
          "obstaclesCleared": [
            "B"
          ]
        }
      ]
    },
    {
      "and": [
        "canConsecutiveWalljump",
        {
          "obstaclesCleared": [
            "B"
          ]
        }
      ]
    }
  ]
}
{
  "enemyDamage": {
    "enemy": "Beetom",
    "type": "contact",
    "hits": 9
  }
}

Exit condition:

{
  "leaveWithGModeSetup": {
    "knockback": false
  }
}
Base (Basic)
Red Tower
From: 5
Top Right Door
To: 9
Junction (Top Rippers)

Base (Basic)
Red Tower
From: 6
Junction (Above Bottom Rippers)
To: 1
Top Left Door

Requires:

{
  "or": [
    "canWalljump",
    "HiJump",
    "canSpringBallJumpMidAir",
    "h_canFly"
  ]
}
From: 6
Junction (Above Bottom Rippers)
To: 1
Top Left Door

Using a crouch jump, get the Beetom attach to Samus. Quickly freeze it before it deals damage, if Samus is at very low energy.

Requires:

"canTrickyUseFrozenEnemies"
"h_canCrouchJumpDownGrab"
{
  "obstaclesNotCleared": [
    "A"
  ]
}
Base (Basic)
Red Tower
From: 6
Junction (Above Bottom Rippers)
To: 7
Junction (Bottom Rippers)

Base (Basic)
Red Tower
From: 7
Junction (Bottom Rippers)
To: 6
Junction (Above Bottom Rippers)

Requires:

{
  "or": [
    "SpaceJump",
    {
      "and": [
        "HiJump",
        "SpeedBooster"
      ]
    },
    {
      "and": [
        "HiJump",
        "canConsecutiveWalljump"
      ]
    }
  ]
}
From: 7
Junction (Bottom Rippers)
To: 6
Junction (Above Bottom Rippers)

Requires:

"canUseFrozenEnemies"
{
  "or": [
    "HiJump",
    "canWalljump",
    "canSpringBallJumpMidAir",
    "h_canIBJ"
  ]
}
IBJ (Medium)
Red Tower
From: 7
Junction (Bottom Rippers)
To: 6
Junction (Above Bottom Rippers)

Requires:

"h_canIBJ"
{
  "or": [
    {
      "and": [
        "canWalljump",
        "ScrewAttack"
      ]
    },
    {
      "and": [
        {
          "or": [
            "canWalljump",
            "canSpringBallJumpMidAir"
          ]
        },
        {
          "ammo": {
            "type": "PowerBomb",
            "count": 1
          }
        }
      ]
    },
    {
      "enemyKill": {
        "enemies": [
          [
            "Ripper",
            "Ripper",
            "Ripper"
          ],
          [
            "Ripper"
          ]
        ],
        "explicitWeapons": [
          "Super",
          "PowerBomb"
        ]
      }
    }
  ]
}
From: 7
Junction (Bottom Rippers)
To: 6
Junction (Above Bottom Rippers)

Notable: true

Requires switching between single and double IBJs. While Doubles are not techincally necessary, they make the strat more bearable.

Requires:

"h_canDoubleBombJump"
"h_canStaggeredIBJ"
From: 7
Junction (Bottom Rippers)
To: 6
Junction (Above Bottom Rippers)

Requires:

"canSpringBallJumpMidAir"
{
  "or": [
    "canWalljump",
    {
      "and": [
        "HiJump",
        "canTrickyJump"
      ]
    }
  ]
}
{
  "or": [
    "canTrickySpringBallJump",
    "canSpringwall"
  ]
}
From: 7
Junction (Bottom Rippers)
To: 6
Junction (Above Bottom Rippers)

Notable: true

Starting on the right ledge at the bottom of Red Tower, wall jump just below the middle plant, just above the top ripper. Place two bombs out of the wall jump landing on the first bomb and getting boosted by both. While rising, place two more bombs for a second HBJ. Colliding with the side of the ledge after the third bomb can help.

Requires:

"canWallJumpBombBoost"
"h_canHBJ"
From: 7
Junction (Bottom Rippers)
To: 6
Junction (Above Bottom Rippers)

Requires:

"canWalljump"
"h_canDiagonalBombJump"
Base (Basic)
Red Tower
From: 7
Junction (Bottom Rippers)
To: 8
Junction (Below Bottom Rippers)

Base (Basic)
Red Tower
From: 8
Junction (Below Bottom Rippers)
To: 3
Bottom Left Door

Base (Basic)
Red Tower
From: 8
Junction (Below Bottom Rippers)
To: 4
Bottom Right Door

Base (Basic)
Red Tower
From: 8
Junction (Below Bottom Rippers)
To: 7
Junction (Bottom Rippers)

Crystal Flash (Very Hard)
Red Tower
From: 8
Junction (Below Bottom Rippers)
To: 8
Junction (Below Bottom Rippers)

Requires:

"h_canCrystalFlash"
Base (Basic)
Red Tower
From: 9
Junction (Top Rippers)
To: 1
Top Left Door

Wall Jump (Medium)
Red Tower
From: 9
Junction (Top Rippers)
To: 5
Top Right Door

Kill the Rippers then wall jump up.

Requires:

"canConsecutiveWalljump"
{
  "or": [
    "canPreciseWalljump",
    "canSpringwall",
    "HiJump"
  ]
}
{
  "obstaclesCleared": [
    "B"
  ]
}
From: 9
Junction (Top Rippers)
To: 5
Top Right Door

Requires:

"canUseFrozenEnemies"
{
  "obstaclesNotCleared": [
    "B"
  ]
}
From: 9
Junction (Top Rippers)
To: 5
Top Right Door

Notable: true

Wall jump between the Rippers. Either shoot the block, fall, and quickly climb again, or shoot from the bottom and follow Samus's shot up the tower.

Requires:

"canHeroShot"
"canPreciseWalljump"
"canStaggeredWalljump"
From: 9
Junction (Top Rippers)
To: 5
Top Right Door

This strat is for killing all of the Rippers and then using Space Jump to get up without consecutive wall jumps. Space jump up near the shot block, then shoot it while falling right as it goes off screen, then space jump back up.

Requires:

"SpaceJump"
{
  "or": [
    "HiJump",
    {
      "and": [
        "canCarefulJump",
        "canWalljump"
      ]
    }
  ]
}
{
  "obstaclesCleared": [
    "B"
  ]
}
From: 9
Junction (Top Rippers)
To: 5
Top Right Door

Notable: true

Climb the top of Red Tower with just Space Jump. This can be done by dodging the Rippers and shooting the block as Samus is going upward, so she goes through the block as it breaks. HiJump or killing the Rippers can help but are not required. If the Rippers are killed, this can instead be done by shooting the block while falling right as it goes off screen, then using well-timed short space jumps to go up as rapidly as possible before the block respawns.

Requires:

"SpaceJump"
"canTrickyJump"
From: 9
Junction (Top Rippers)
To: 5
Top Right Door

Jump into IBJ to avoid breaking the ledges. Place a Power Bomb on the ascent to break the block and continue the IBJ through it. It is possible to do without a Power Bomb with canBombAboveIBJ.

Requires:

"h_canJumpIntoIBJ"
{
  "or": [
    "canBombAboveIBJ",
    {
      "ammo": {
        "type": "PowerBomb",
        "count": 1
      }
    }
  ]
}
{
  "obstaclesCleared": [
    "B"
  ]
}
From: 9
Junction (Top Rippers)
To: 5
Top Right Door

Without canJumpIntoIBJ, Samus will need to kill the Rippers while breaking the bomb blocks then start from the platforms below. Place a Power Bomb on the ascent to break the block and continue the IBJ through it.

Requires:

"canBeVeryPatient"
"h_canIBJ"
{
  "ammo": {
    "type": "PowerBomb",
    "count": 1
  }
}
{
  "or": [
    {
      "obstaclesCleared": [
        "B"
      ]
    },
    {
      "ammo": {
        "type": "PowerBomb",
        "count": 2
      }
    }
  ]
}
From: 9
Junction (Top Rippers)
To: 9
Junction (Top Rippers)

To kill the Rippers with a single Power Bomb without breaking the ledge, place the bomb just above the second Ripper.

Requires:

"h_canUsePowerBombs"
"canCarefulJump"
{
  "or": [
    "canWalljump",
    "canSpringBallJumpMidAir",
    "SpaceJump",
    {
      "and": [
        "HiJump",
        "canTrickyDashJump"
      ]
    },
    {
      "and": [
        "h_canJumpIntoIBJ",
        {
          "or": [
            "canStaggeredIBJ",
            "canDoubleBombJump"
          ]
        }
      ]
    }
  ]
}

Clears obstacles: B

From: 9
Junction (Top Rippers)
To: 9
Junction (Top Rippers)

Kill the Rippers with Supers.

Requires:

{
  "ammo": {
    "type": "Super",
    "count": 4
  }
}
{
  "or": [
    "canWalljump",
    "SpaceJump",
    "h_canJumpIntoIBJ",
    {
      "and": [
        "canSpringBallJumpMidAir",
        {
          "or": [
            "HiJump",
            "canTrickyJump"
          ]
        }
      ]
    }
  ]
}

Clears obstacles: B

From: 9
Junction (Top Rippers)
To: 9
Junction (Top Rippers)

Kill the Rippers with Screw Attack. Break spin before landing to prevent breaking the platform.

Requires:

"ScrewAttack"
{
  "or": [
    "SpaceJump",
    "canConsecutiveWalljump",
    {
      "and": [
        "canWalljump",
        "HiJump"
      ]
    }
  ]
}

Clears obstacles: B

{
  "$schema": "../../../schema/m3-room.schema.json",
  "id": 66,
  "name": "Red Tower",
  "area": "Brinstar",
  "subarea": "Red",
  "playable": true,
  "roomAddress": "0x7A253",
  "roomEnvironments": [
    {
      "heated": false
    }
  ],
  "nodes": [
    {
      "id": 1,
      "name": "Top Left Door",
      "nodeType": "door",
      "nodeSubType": "blue",
      "nodeAddress": "0x001902a",
      "doorEnvironments": [
        {
          "physics": "air"
        }
      ]
    },
    {
      "id": 2,
      "name": "Middle Left Door (Behind Power Bomb Blocks)",
      "nodeType": "door",
      "nodeSubType": "yellow",
      "nodeAddress": "0x0019036",
      "doorEnvironments": [
        {
          "physics": "air"
        }
      ],
      "locks": [
        {
          "name": "Red Tower Yellow Lock (to Firefleas)",
          "lockType": "coloredDoor",
          "unlockStrats": [
            {
              "name": "Base",
              "notable": false,
              "requires": [
                "h_canOpenYellowDoors"
              ]
            }
          ]
        }
      ]
    },
    {
      "id": 3,
      "name": "Bottom Left Door",
      "nodeType": "door",
      "nodeSubType": "green",
      "nodeAddress": "0x001904e",
      "doorEnvironments": [
        {
          "physics": "air"
        }
      ],
      "locks": [
        {
          "name": "Sloaters Refill Green Lock (to Sloaters Refill)",
          "lockType": "coloredDoor",
          "unlockStrats": [
            {
              "name": "Base",
              "notable": false,
              "requires": [
                "h_canOpenGreenDoors"
              ]
            }
          ]
        }
      ]
    },
    {
      "id": 4,
      "name": "Bottom Right Door",
      "nodeType": "door",
      "nodeSubType": "blue",
      "nodeAddress": "0x0019042",
      "doorEnvironments": [
        {
          "physics": "air"
        }
      ]
    },
    {
      "id": 5,
      "name": "Top Right Door",
      "nodeType": "door",
      "nodeSubType": "blue",
      "nodeAddress": "0x001901e",
      "doorEnvironments": [
        {
          "physics": "air"
        }
      ]
    },
    {
      "id": 6,
      "name": "Junction (Above Bottom Rippers)",
      "nodeType": "junction",
      "nodeSubType": "junction",
      "note": "This is under the orange door, below the shot blocks, but above the bottom climb"
    },
    {
      "id": 7,
      "name": "Junction (Bottom Rippers)",
      "nodeType": "junction",
      "nodeSubType": "junction",
      "note": "This is meant to contain all Rippers in the bottom climb except the bottom one"
    },
    {
      "id": 8,
      "name": "Junction (Below Bottom Rippers)",
      "nodeType": "junction",
      "nodeSubType": "junction"
    },
    {
      "id": 9,
      "name": "Junction (Top Rippers)",
      "nodeType": "junction",
      "nodeSubType": "junction",
      "note": "This is meant to contain all Rippers in the top climb except the bottom one"
    }
  ],
  "obstacles": [
    {
      "id": "A",
      "name": "Power Bomb Blocks",
      "obstacleType": "inanimate"
    },
    {
      "id": "B",
      "name": "Top of Tower Rippers",
      "obstacleType": "enemies"
    }
  ],
  "enemies": [
    {
      "id": "e1",
      "groupName": "Red Tower Geegas",
      "enemyName": "Geega",
      "quantity": 2,
      "homeNodes": [
        1
      ],
      "farmCycles": [
        {
          "name": "Alternating Geega Pipes",
          "cycleFrames": 180,
          "requires": [],
          "note": "Standing on the platform next to the right spawner, must jump to get Geegas to spawn from the left one."
        }
      ]
    },
    {
      "id": "e2",
      "groupName": "Red Tower Beetom",
      "enemyName": "Beetom",
      "quantity": 1,
      "betweenNodes": [
        1,
        2
      ]
    },
    {
      "id": "e3",
      "groupName": "Red Tower Middle Rippers",
      "enemyName": "Ripper",
      "quantity": 3,
      "homeNodes": [
        7
      ]
    },
    {
      "id": "e4",
      "groupName": "Red Tower Bottom Ripper",
      "enemyName": "Ripper",
      "quantity": 1,
      "homeNodes": [
        8
      ]
    },
    {
      "id": "e5",
      "groupName": "Red Tower Top rippers",
      "enemyName": "Ripper",
      "quantity": 4,
      "homeNodes": [
        9
      ]
    }
  ],
  "reusableRoomwideNotable": [
    {
      "name": "Red Tower R-Mode Frozen Beetom X-Ray Climb",
      "note": [
        "Gain R-mode while entering the room.",
        "Use the respawning bugs to refill reserve energy.",
        "Get grabbed by the Beetom and carry it to the 4-tile high gap one screen above the bottom-left door.",
        "Position Samus one pixel to the right of being against the wall.",
        "Jump and aim down, reaching the ceiling at the same time that reserves are triggered.",
        "This will force Samus to stand up, briefly clipping into the wall above.",
        "Immediately freeze the Beetom inside the wall, by buffering a shot during the reserve trigger.",
        "Use a Ripper to get knocked back onto the frozen Beetom.",
        "This will clip Samus one pixel left into the wall, making it possible to X-ray climb.",
        "X-ray climb up 2 screens."
      ]
    },
    {
      "name": "Red Tower Hero Shot Shinespark",
      "note": [
        "Come in shinecharged (or shinecharging) from the top left door. With missiles selected, position Samus roughly in the horizontal center of the room.",
        "Crouch, aim up, then in very quick succession, shoot a missile upwards then spark up.",
        "If done correctly, Samus will pass the Missile, break the bomb block platforms, then be passed by the Missile which will break the shot blocks at the top."
      ]
    },
    {
      "name": "Red Tower IBJ Between the Bottom Rippers",
      "note": "Requires switching between single and double IBJs. While Doubles are not techincally necessary, they make the strat more bearable."
    }
  ],
  "links": [
    {
      "from": 1,
      "to": [
        {
          "id": 1
        },
        {
          "id": 2
        },
        {
          "id": 3
        },
        {
          "id": 4
        },
        {
          "id": 5,
          "note": "Direct link for shinespark. Other strats should go 1 -> 9 -> 5."
        },
        {
          "id": 6
        },
        {
          "id": 9
        }
      ]
    },
    {
      "from": 2,
      "to": [
        {
          "id": 1
        },
        {
          "id": 2
        },
        {
          "id": 5
        }
      ]
    },
    {
      "from": 3,
      "to": [
        {
          "id": 2
        },
        {
          "id": 3
        },
        {
          "id": 4
        },
        {
          "id": 5
        },
        {
          "id": 6
        },
        {
          "id": 7,
          "note": "This link is only for sparking. Other strats go 8 -> 7."
        },
        {
          "id": 8
        }
      ]
    },
    {
      "from": 4,
      "to": [
        {
          "id": 2
        },
        {
          "id": 3
        },
        {
          "id": 4
        },
        {
          "id": 5
        },
        {
          "id": 6,
          "note": "This link is only for sparking. Other strats go 8 -> 7 -> 6."
        },
        {
          "id": 7,
          "note": "This link is only for sparking. Other strats go 8 -> 7."
        },
        {
          "id": 8
        }
      ]
    },
    {
      "from": 5,
      "to": [
        {
          "id": 2
        },
        {
          "id": 5
        },
        {
          "id": 9
        }
      ]
    },
    {
      "from": 6,
      "to": [
        {
          "id": 1
        },
        {
          "id": 7
        }
      ]
    },
    {
      "from": 7,
      "to": [
        {
          "id": 6
        },
        {
          "id": 8
        }
      ]
    },
    {
      "from": 8,
      "to": [
        {
          "id": 2
        },
        {
          "id": 3
        },
        {
          "id": 4
        },
        {
          "id": 7
        },
        {
          "id": 8
        }
      ]
    },
    {
      "from": 9,
      "to": [
        {
          "id": 1
        },
        {
          "id": 5
        },
        {
          "id": 9
        }
      ]
    }
  ],
  "strats": [
    {
      "link": [
        1,
        1
      ],
      "name": "Geega and Beetom Farm",
      "requires": [
        {
          "or": [
            "ScrewAttack",
            "h_canUseMorphBombs",
            {
              "resourceCapacity": [
                {
                  "type": "Missile",
                  "count": 1
                }
              ]
            },
            {
              "resourceCapacity": [
                {
                  "type": "Super",
                  "count": 1
                }
              ]
            }
          ]
        },
        {
          "refill": [
            "Energy",
            "Missile",
            "Super",
            "PowerBomb"
          ]
        }
      ]
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Geega Farm",
      "requires": [
        {
          "refill": [
            "Energy",
            "Missile",
            "Super"
          ]
        }
      ]
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Leave With Runway",
      "requires": [],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 11,
          "openEnd": 1
        }
      },
      "devNote": "Assume no broken runway tiles since there is never a reason to break them."
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Leave With Runway - Frozen Beetom",
      "requires": [
        "h_canFrozenEnemyRunway"
      ],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 13,
          "openEnd": 0
        }
      },
      "note": [
        "Grab the Beetom and freeze it to extend the runway at the top left door; this is easiest with HiJump disabled.",
        "It is optimal to leave a half-tile gap in order to extend the runway as much as possible.",
        "After freezing the Beetom, it is possible to go down and farm, while returning to refreeze the Beetom."
      ]
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Leave with Moondance",
      "requires": [
        {
          "obstaclesNotCleared": [
            "A"
          ]
        },
        "canMoondance",
        "canTrickyUseFrozenEnemies",
        {
          "enemyDamage": {
            "enemy": "Beetom",
            "type": "contact",
            "hits": 4
          }
        }
      ],
      "exitCondition": {
        "leaveWithStoredFallSpeed": {
          "fallSpeedInTiles": 1
        }
      },
      "note": [
        "Bring the Beetom close to the door and begin Moondancing.",
        "Stop after exactly 175 moonfalls, so as not to fall through the floor."
      ]
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Red Tower Door Frame Extended Moondance",
      "notable": true,
      "requires": [
        {
          "obstaclesNotCleared": [
            "A"
          ]
        },
        "canExtendedMoondance",
        "canTrickyUseFrozenEnemies",
        {
          "enemyDamage": {
            "enemy": "Beetom",
            "type": "contact",
            "hits": 5
          }
        },
        "h_ExtendedMoondanceBeetomLeniency"
      ],
      "exitCondition": {
        "leaveWithStoredFallSpeed": {
          "fallSpeedInTiles": 2
        }
      },
      "note": [
        "Bring the Beetom close to the door and begin Moondancing.",
        "Stop after exactly 175 moonfalls, so as not to fall through the floor.",
        "Freeze the Beetom inside the door frame and Moondance such that Samus does not fall through the floor and does not touch the door transition."
      ]
    },
    {
      "link": [
        1,
        1
      ],
      "name": "G-Mode Setup - Get Hit By Beetom",
      "notable": false,
      "requires": [
        {
          "obstaclesNotCleared": [
            "A"
          ]
        },
        {
          "enemyDamage": {
            "enemy": "Beetom",
            "type": "contact",
            "hits": 5
          }
        }
      ],
      "exitCondition": {
        "leaveWithGModeSetup": {
          "knockback": false
        }
      },
      "devNote": "Some items may reduce the number of Beetom hits, but it's irrelevant since there is an accesible farm in-room."
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Base",
      "requires": [
        {
          "or": [
            "h_canUsePowerBombs",
            {
              "obstaclesCleared": [
                "A"
              ]
            }
          ]
        }
      ],
      "clearsObstacles": [
        "A"
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "G-Mode Setup - Get Hit By Beetom",
      "notable": false,
      "requires": [
        {
          "obstaclesNotCleared": [
            "A"
          ]
        },
        "h_canUsePowerBombs",
        {
          "enemyDamage": {
            "enemy": "Beetom",
            "type": "contact",
            "hits": 1
          }
        }
      ],
      "exitCondition": {
        "leaveWithGModeSetup": {
          "knockback": false
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ],
      "note": [
        "Either place a Power Bomb on the ledge with the Geega bug farms, to only break the top row of blocks and not kill the Beetom,",
        "or move the Beetom to safety by shaking it off at a higher platform before breaking the Power Bomb blocks."
      ],
      "devNote": "Obstacle A cannot already be broken, because otherwise the Beetom will already be killed."
    },
    {
      "link": [
        1,
        2
      ],
      "name": "G-mode Morph Power Bomb",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": true
        }
      },
      "requires": [
        "h_canArtificialMorphPowerBomb"
      ],
      "clearsObstacles": [
        "A"
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "R-Mode Frozen Beetom X-Ray Climb",
      "notable": true,
      "entranceCondition": {
        "comeInWithRMode": {}
      },
      "requires": [
        {
          "enemyDamage": {
            "enemy": "Beetom",
            "type": "contact",
            "hits": 1
          }
        },
        {
          "enemyDamage": {
            "enemy": "Ripper",
            "type": "contact",
            "hits": 1
          }
        },
        "canWallIceClip",
        "canXRayClimb"
      ],
      "reusableRoomwideNotable": "Red Tower R-Mode Frozen Beetom X-Ray Climb",
      "note": [
        "Gain R-mode while entering the room.",
        "Use the respawning bugs to refill reserve energy.",
        "Get grabbed by the Beetom and carry it to the 4-tile high gap one screen above the bottom-left door.",
        "Position Samus one pixel to the right of being against the wall.",
        "Jump and aim down, reaching the ceiling at the same time that reserves are triggered.",
        "This will force Samus to stand up, briefly clipping into the wall above.",
        "Immediately freeze the Beetom inside the wall, by buffering a shot during the reserve trigger.",
        "Use a Ripper to get knocked back onto the frozen Beetom.",
        "This will clip Samus one pixel left into the wall, making it possible to X-ray climb.",
        "X-ray climb up 2 screens."
      ],
      "devNote": "Given the ability to freeze enemies, nodes 1 and 5 are freely connected, so lumping these into one strat is sound."
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Moondance Clip",
      "requires": [
        {
          "obstaclesNotCleared": [
            "A"
          ]
        },
        "canExtendedMoondance",
        "canTrickyUseFrozenEnemies",
        {
          "enemyDamage": {
            "enemy": "Beetom",
            "type": "contact",
            "hits": 3
          }
        },
        "h_ExtendedMoondanceBeetomLeniency"
      ],
      "note": [
        "Collect the Beetom and freeze it above and left of the Power Bomb Blocks in a way that Samus will be able to Moondance.",
        "Moondance until Samus falls through two tiles, then Moonfall again to sink through the solid blocks and reach the door."
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Leave with Moondance",
      "requires": [
        {
          "obstaclesNotCleared": [
            "A"
          ]
        },
        "h_canUsePowerBombs",
        "canMoondance",
        "canTrickyUseFrozenEnemies",
        {
          "enemyDamage": {
            "enemy": "Beetom",
            "type": "contact",
            "hits": 2
          }
        }
      ],
      "exitCondition": {
        "leaveWithStoredFallSpeed": {
          "fallSpeedInTiles": 1
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "missiles",
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "powerbomb"
          ],
          "requires": [],
          "useImplicitRequires": false
        }
      ],
      "note": [
        "Break the Power Bomb Blocks without killing the Beetom",
        "Freeze a Beetom at head height where Samus can Spinjump into it and begin Moondancing.",
        "If needed, the Beetom can be left at the door while Samus moves to the farm bugs."
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Leave with Extended Moondance",
      "requires": [
        {
          "obstaclesNotCleared": [
            "A"
          ]
        },
        "h_canUsePowerBombs",
        "canExtendedMoondance",
        "canTrickyUseFrozenEnemies",
        {
          "enemyDamage": {
            "enemy": "Beetom",
            "type": "contact",
            "hits": 2
          }
        },
        "h_ExtendedMoondanceBeetomLeniency"
      ],
      "unlocksDoors": [
        {
          "types": [
            "missiles",
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "powerbomb"
          ],
          "requires": [],
          "useImplicitRequires": false
        }
      ],
      "exitCondition": {
        "leaveWithStoredFallSpeed": {
          "fallSpeedInTiles": 2
        }
      },
      "note": [
        "Break the Power Bomb Blocks without killing the Beetom",
        "Freeze a Beetom at head height where Samus can Spinjump into it and begin Moondancing.",
        "After 175 Moonfalls, reposition the Beetom to chest height.",
        "If needed, the Beetom can be left at the door while Samus moves to the farm bugs."
      ]
    },
    {
      "link": [
        1,
        3
      ],
      "name": "G-Mode Setup - Get Hit By Beetom",
      "notable": false,
      "requires": [
        {
          "obstaclesNotCleared": [
            "A"
          ]
        },
        {
          "enemyDamage": {
            "enemy": "Beetom",
            "type": "contact",
            "hits": 5
          }
        }
      ],
      "exitCondition": {
        "leaveWithGModeSetup": {
          "knockback": false
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "missiles",
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "powerbomb"
          ],
          "requires": [
            {
              "or": [
                "canWalljump",
                "h_canFly",
                "canSpringBallJumpMidAir",
                {
                  "and": [
                    "HiJump",
                    "SpeedBooster"
                  ]
                }
              ]
            }
          ],
          "note": [
            "Using a Power Bomb here requires leaving the Beetom above and going back for it.",
            "The Power Bomb will destroy the nearby Rippers, which is why there are additional requirements to get back up."
          ]
        }
      ],
      "devNote": "Some tech may reduce the number of Beetom hits, but it's irrelevant since there is an accesible farm in-room."
    },
    {
      "link": [
        1,
        3
      ],
      "name": "Leave with Moondance",
      "requires": [
        {
          "obstaclesNotCleared": [
            "A"
          ]
        },
        "canMoondance",
        "canTrickyUseFrozenEnemies",
        {
          "enemyDamage": {
            "enemy": "Beetom",
            "type": "contact",
            "hits": 2
          }
        }
      ],
      "exitCondition": {
        "leaveWithStoredFallSpeed": {
          "fallSpeedInTiles": 1
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "missiles",
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "powerbomb"
          ],
          "requires": [
            {
              "or": [
                "canWalljump",
                "h_canFly",
                "canSpringBallJumpMidAir",
                {
                  "and": [
                    "HiJump",
                    "SpeedBooster"
                  ]
                }
              ]
            }
          ],
          "note": [
            "Using a Power Bomb here requires leaving the Beetom above and going back for it.",
            "The Power Bomb will destroy the nearby Rippers, which is why there are additional requirements to get back up."
          ]
        }
      ],
      "note": [
        "Freeze a Beetom at head height where Samus can Spinjump into it and begin Moondancing.",
        "If needed, the Beetom can be left at the door while Samus moves to the farm bugs."
      ]
    },
    {
      "link": [
        1,
        3
      ],
      "name": "Leave with Extended Moondance",
      "requires": [
        {
          "obstaclesNotCleared": [
            "A"
          ]
        },
        "canExtendedMoondance",
        "canTrickyUseFrozenEnemies",
        {
          "enemyDamage": {
            "enemy": "Beetom",
            "type": "contact",
            "hits": 2
          }
        },
        "h_ExtendedMoondanceBeetomLeniency"
      ],
      "exitCondition": {
        "leaveWithStoredFallSpeed": {
          "fallSpeedInTiles": 2
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "missiles",
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "powerbomb"
          ],
          "requires": [
            {
              "or": [
                "canWalljump",
                "h_canFly",
                "canSpringBallJumpMidAir",
                {
                  "and": [
                    "HiJump",
                    "SpeedBooster"
                  ]
                }
              ]
            }
          ],
          "note": [
            "Using a Power Bomb here requires leaving the Beetom above and going back for it.",
            "The Power Bomb will destroy the nearby Rippers, which is why there are additional requirements to get back up."
          ]
        }
      ],
      "note": [
        "Freeze a Beetom at head height where Samus can Spinjump into it and begin Moondancing.",
        "After 175 Moonfalls, reposition the Beetom to chest height.",
        "If needed, the Beetom can be left at the door while Samus moves to the farm bugs."
      ]
    },
    {
      "link": [
        1,
        4
      ],
      "name": "G-Mode Setup - Get Hit By Beetom",
      "notable": false,
      "requires": [
        {
          "obstaclesNotCleared": [
            "A"
          ]
        },
        {
          "enemyDamage": {
            "enemy": "Beetom",
            "type": "contact",
            "hits": 5
          }
        }
      ],
      "exitCondition": {
        "leaveWithGModeSetup": {
          "knockback": false
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "missiles",
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "powerbomb"
          ],
          "requires": [
            {
              "or": [
                "canWalljump",
                "h_canFly",
                "canSpringBallJumpMidAir",
                {
                  "and": [
                    "HiJump",
                    "SpeedBooster"
                  ]
                }
              ]
            }
          ],
          "note": [
            "Using a Power Bomb here requires leaving the Beetom above and going back for it.",
            "The Power Bomb will destroy the nearby Rippers, which is why there are additional requirements to get back up."
          ]
        }
      ],
      "devNote": "Some items may reduce the number of Beetom hits, but it's irrelevant since there is an accesible farm in-room."
    },
    {
      "link": [
        1,
        4
      ],
      "name": "Leave with Moondance",
      "requires": [
        {
          "obstaclesNotCleared": [
            "A"
          ]
        },
        "canMoondance",
        "canTrickyUseFrozenEnemies",
        {
          "enemyDamage": {
            "enemy": "Beetom",
            "type": "contact",
            "hits": 6
          }
        }
      ],
      "exitCondition": {
        "leaveWithStoredFallSpeed": {
          "fallSpeedInTiles": 1
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "missiles",
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "powerbomb"
          ],
          "requires": [
            {
              "or": [
                "canWalljump",
                "h_canFly",
                "canSpringBallJumpMidAir",
                {
                  "and": [
                    "HiJump",
                    "SpeedBooster"
                  ]
                }
              ]
            }
          ],
          "note": [
            "Using a Power Bomb here requires leaving the Beetom above and going back for it.",
            "The Power Bomb will destroy the nearby Rippers, which is why there are additional requirements to get back up."
          ]
        }
      ],
      "note": [
        "Freeze a Beetom at head height where Samus can Spinjump into it and begin Moondancing.",
        "If needed, the Beetom can be left at the door while Samus moves to the farm bugs."
      ]
    },
    {
      "link": [
        1,
        4
      ],
      "name": "Leave with Extended Moondance",
      "requires": [
        {
          "obstaclesNotCleared": [
            "A"
          ]
        },
        "canExtendedMoondance",
        "canTrickyUseFrozenEnemies",
        {
          "enemyDamage": {
            "enemy": "Beetom",
            "type": "contact",
            "hits": 6
          }
        },
        "h_ExtendedMoondanceBeetomLeniency"
      ],
      "exitCondition": {
        "leaveWithStoredFallSpeed": {
          "fallSpeedInTiles": 2
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "missiles",
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "powerbomb"
          ],
          "requires": [
            {
              "or": [
                "canWalljump",
                "h_canFly",
                "canSpringBallJumpMidAir",
                {
                  "and": [
                    "HiJump",
                    "SpeedBooster"
                  ]
                }
              ]
            }
          ],
          "note": [
            "Using a Power Bomb here requires leaving the Beetom above and going back for it.",
            "The Power Bomb will destroy the nearby Rippers, which is why there are additional requirements to get back up."
          ]
        }
      ],
      "note": [
        "Freeze a Beetom at head height where Samus can Spinjump into it and begin Moondancing.",
        "After 175 Moonfalls, reposition the Beetom to chest height.",
        "If needed, the Beetom can be left at the door while Samus moves to the farm bugs."
      ]
    },
    {
      "link": [
        1,
        5
      ],
      "name": "Leave with Moondance",
      "requires": [
        {
          "obstaclesNotCleared": [
            "A"
          ]
        },
        {
          "or": [
            "HiJump",
            "SpaceJump",
            "canWalljump"
          ]
        },
        "canMoondance",
        "canTrickyUseFrozenEnemies",
        {
          "enemyDamage": {
            "enemy": "Beetom",
            "type": "contact",
            "hits": 6
          }
        }
      ],
      "exitCondition": {
        "leaveWithStoredFallSpeed": {
          "fallSpeedInTiles": 1
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ],
      "note": [
        "Freeze a Beetom at head height where Samus can Spinjump into it and begin Moondancing.",
        "If needed, the Beetom can be left at the door while Samus moves to the farm bugs."
      ]
    },
    {
      "link": [
        1,
        5
      ],
      "name": "Leave with Extended Moondance",
      "requires": [
        {
          "obstaclesNotCleared": [
            "A"
          ]
        },
        {
          "or": [
            "HiJump",
            "SpaceJump",
            "canWalljump"
          ]
        },
        "canExtendedMoondance",
        "canTrickyUseFrozenEnemies",
        {
          "enemyDamage": {
            "enemy": "Beetom",
            "type": "contact",
            "hits": 6
          }
        },
        "h_ExtendedMoondanceBeetomLeniency"
      ],
      "exitCondition": {
        "leaveWithStoredFallSpeed": {
          "fallSpeedInTiles": 2
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ],
      "note": [
        "Freeze a Beetom at head height where Samus can Spinjump into it and begin Moondancing.",
        "After 175 Moonfalls, reposition the Beetom to chest height.",
        "If needed, the Beetom can be left at the door while Samus moves to the farm bugs."
      ]
    },
    {
      "link": [
        1,
        5
      ],
      "name": "Instant Diagonal Shinespark (Come In Shinecharged)",
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 1
        }
      },
      "requires": [
        {
          "shinespark": {
            "frames": 68,
            "excessFrames": 20
          }
        },
        "canUseFrozenEnemies"
      ]
    },
    {
      "link": [
        1,
        5
      ],
      "name": "Vertical Shinespark (Come In Shinecharged)",
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 20
        }
      },
      "requires": [
        {
          "shinespark": {
            "frames": 68,
            "excessFrames": 29
          }
        },
        "canUseFrozenEnemies"
      ]
    },
    {
      "link": [
        1,
        5
      ],
      "name": "Vertical Mid-Air Shinespark (Come In Shinecharged)",
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 50
        }
      },
      "requires": [
        "canMidairShinespark",
        {
          "shinespark": {
            "frames": 60,
            "excessFrames": 28
          }
        },
        "canUseFrozenEnemies"
      ]
    },
    {
      "link": [
        1,
        5
      ],
      "name": "Shinespark (Come In Shinecharging)",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 10,
          "openEnd": 1
        }
      },
      "requires": [
        {
          "or": [
            {
              "shinespark": {
                "frames": 68,
                "excessFrames": 29
              }
            },
            {
              "and": [
                "canMidairShinespark",
                {
                  "shinespark": {
                    "frames": 60,
                    "excessFrames": 28
                  }
                }
              ]
            }
          ]
        },
        "canUseFrozenEnemies"
      ]
    },
    {
      "link": [
        1,
        5
      ],
      "name": "Red Tower Hero Shot Shinespark (Come In Shinecharged)",
      "notable": true,
      "reusableRoomwideNotable": "Red Tower Hero Shot Shinespark",
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 100
        }
      },
      "requires": [
        "canHeroShot",
        {
          "shinespark": {
            "frames": 77,
            "excessFrames": 3
          }
        },
        {
          "ammo": {
            "type": "Missile",
            "count": 1
          }
        }
      ],
      "note": [
        "Come in shinecharged from the top left door. With missiles selected, position Samus roughly in the horizontal center of the room.",
        "Crouch, aim up, then in very quick succession, shoot a missile upwards then spark up.",
        "If done correctly, Samus will pass the Missile, break the bomb block platforms, then be passed by the Missile which will break the shot blocks at the top."
      ]
    },
    {
      "link": [
        1,
        5
      ],
      "name": "Red Tower Hero Shot Shinespark (Come In Shinecharging)",
      "notable": true,
      "reusableRoomwideNotable": "Red Tower Hero Shot Shinespark",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 10,
          "openEnd": 1
        }
      },
      "requires": [
        "canHeroShot",
        {
          "shinespark": {
            "frames": 77,
            "excessFrames": 3
          }
        },
        {
          "ammo": {
            "type": "Missile",
            "count": 1
          }
        }
      ],
      "note": [
        "Come in shinecharging from the top left door. With missiles selected, position Samus roughly in the horizontal center of the room.",
        "Crouch, aim up, then in very quick succession, shoot a missile upwards then spark up.",
        "If done correctly, Samus will pass the Missile, break the bomb block platforms, then be passed by the Missile which will break the shot blocks at the top."
      ]
    },
    {
      "link": [
        1,
        5
      ],
      "name": "Grapple Teleport",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              12
            ],
            [
              12,
              13
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true
    },
    {
      "link": [
        1,
        5
      ],
      "name": "Carry Grapple Teleport (Top Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              12
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              12
            ]
          ]
        }
      }
    },
    {
      "link": [
        1,
        5
      ],
      "name": "Carry Grapple Teleport (Bottom Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              13
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              13
            ]
          ]
        }
      }
    },
    {
      "link": [
        1,
        6
      ],
      "name": "Base",
      "requires": []
    },
    {
      "link": [
        1,
        9
      ],
      "name": "Base",
      "requires": [
        {
          "or": [
            "HiJump",
            "h_canFly",
            "canWalljump"
          ]
        }
      ]
    },
    {
      "link": [
        1,
        9
      ],
      "name": "Red Tower Frozen Beetom Ice Climb",
      "notable": true,
      "requires": [
        "canTrickyUseFrozenEnemies",
        "canFlatleyJump",
        {
          "or": [
            {
              "enemyDamage": {
                "enemy": "Beetom",
                "type": "contact",
                "hits": 9
              }
            },
            {
              "and": [
                "canInsaneJump",
                {
                  "enemyDamage": {
                    "enemy": "Beetom",
                    "type": "contact",
                    "hits": 4
                  }
                }
              ]
            },
            {
              "and": [
                "canBeVeryPatient",
                {
                  "enemyDamage": {
                    "enemy": "Beetom",
                    "type": "contact",
                    "hits": 1
                  }
                },
                {
                  "refill": [
                    "Energy"
                  ]
                }
              ]
            }
          ]
        }
      ],
      "note": [
        "Freeze the Beetom and use it as a platform to climb the room without wall jumps.",
        "This can be done with well-timed Flatley jumps on top of the frozen Beetom,",
        "by turning around and spin jumping just as it unfreezes.",
        "This can be made easier (at the cost of some additional Beetom hits) with a pause-buffer method:",
        "Press pause, and begin a turn-around just before the pause hits;",
        "unequip Ice to immediately unfreeze the Beetom;",
        "unpause and press jump quickly after control resumes, but without buffering the input.",
        "For the top two jumps, it is possible to reduce the risk of damage by freezing the Beetom against the wall:",
        "in case of a failure due to an early (e.g. buffered) jump, the Beetom may stay stuck wiggling in the wall,",
        "and then it can be refrozen without needing to take damage to reposition it."
      ]
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Base",
      "requires": [
        {
          "or": [
            "h_canUsePowerBombs",
            {
              "obstaclesCleared": [
                "A"
              ]
            }
          ]
        }
      ],
      "clearsObstacles": [
        "A"
      ]
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Red Tower X-Ray Climb",
      "entranceCondition": {
        "comeInWithDoorStuckSetup": {}
      },
      "requires": [
        "canXRayClimb"
      ],
      "note": "This is a short climb of only a few tiles."
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Very Deep Stuck X-Ray Climb",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "direct",
          "morphed": false
        }
      },
      "requires": [
        "canXRayClimb"
      ],
      "bypassesDoorShell": true,
      "note": [
        "Enter with G-mode direct, 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 2 screens, and perform a turnaround buffered spin-jump away from the door to trigger the transition, bypassing any lock on the door."
      ]
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Leave With Runway",
      "requires": [],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 3,
          "openEnd": 0
        }
      }
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Crystal Flash",
      "requires": [
        "h_canCrystalFlash"
      ],
      "clearsObstacles": [
        "A"
      ]
    },
    {
      "link": [
        2,
        2
      ],
      "name": "G-mode Morph Power Bomb",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": true
        }
      },
      "requires": [
        "h_canArtificialMorphPowerBomb"
      ],
      "clearsObstacles": [
        "A"
      ]
    },
    {
      "link": [
        2,
        5
      ],
      "name": "Grapple Teleport",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              12
            ],
            [
              12,
              13
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true
    },
    {
      "link": [
        2,
        5
      ],
      "name": "Carry Grapple Teleport (Top Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              12
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              12
            ]
          ]
        }
      }
    },
    {
      "link": [
        2,
        5
      ],
      "name": "Carry Grapple Teleport (Bottom Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              13
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              13
            ]
          ]
        }
      }
    },
    {
      "link": [
        3,
        2
      ],
      "name": "R-Mode Frozen Beetom X-Ray Climb",
      "notable": true,
      "entranceCondition": {
        "comeInWithRMode": {}
      },
      "requires": [
        {
          "or": [
            "canWalljump",
            "HiJump",
            "h_canFly",
            "canSpringBallJumpMidAir"
          ]
        },
        {
          "enemyDamage": {
            "enemy": "Beetom",
            "type": "contact",
            "hits": 1
          }
        },
        {
          "enemyDamage": {
            "enemy": "Ripper",
            "type": "contact",
            "hits": 1
          }
        },
        "canWallIceClip",
        "canXRayClimb"
      ],
      "reusableRoomwideNotable": "Red Tower R-Mode Frozen Beetom X-Ray Climb",
      "note": [
        "Gain R-mode while entering the room.",
        "Use the respawning bugs to refill reserve energy.",
        "Get grabbed by the Beetom and carry it to the 4-tile high gap one screen above the bottom-left door.",
        "Position Samus one pixel to the right of being against the wall.",
        "Jump and aim down, reaching the ceiling at the same time that reserves are triggered.",
        "This will force Samus to stand up, briefly clipping into the wall above.",
        "Immediately freeze the Beetom inside the wall, by buffering a shot during the reserve trigger.",
        "Use a Ripper to get knocked back onto the frozen Beetom.",
        "This will clip Samus one pixel left into the wall, making it possible to X-ray climb.",
        "X-ray climb up 2 screens."
      ]
    },
    {
      "link": [
        3,
        3
      ],
      "name": "Leave With Runway",
      "requires": [],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 13,
          "openEnd": 0
        }
      }
    },
    {
      "link": [
        3,
        3
      ],
      "name": "Leave With Runway, Both Doors Open",
      "requires": [
        {
          "doorUnlockedAtNode": 4
        }
      ],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 14,
          "openEnd": 0
        }
      },
      "unlocksDoors": [
        {
          "nodeId": 4,
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ]
    },
    {
      "link": [
        3,
        4
      ],
      "name": "Come in Shinecharging, Leave Shinecharged",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 13,
          "openEnd": 0
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveShinecharged": {
          "framesRemaining": 160
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "missiles",
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ]
    },
    {
      "link": [
        3,
        4
      ],
      "name": "Carry Shinecharge",
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 55
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveShinecharged": {
          "framesRemaining": "auto"
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "missiles",
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ]
    },
    {
      "link": [
        3,
        4
      ],
      "name": "Come In Shinecharged, Leave With Spark",
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 10
        }
      },
      "requires": [
        {
          "shinespark": {
            "frames": 21
          }
        }
      ],
      "exitCondition": {
        "leaveWithSpark": {}
      },
      "unlocksDoors": [
        {
          "types": [
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "missiles",
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ]
    },
    {
      "link": [
        3,
        4
      ],
      "name": "Transition with Stored Fall Speed",
      "entranceCondition": {
        "comeInWithStoredFallSpeed": {
          "fallSpeedInTiles": 1
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveWithStoredFallSpeed": {
          "fallSpeedInTiles": 1
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "missiles",
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ]
    },
    {
      "link": [
        3,
        4
      ],
      "name": "Transition with Stored Fall Speed (more speed)",
      "entranceCondition": {
        "comeInWithStoredFallSpeed": {
          "fallSpeedInTiles": 2
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveWithStoredFallSpeed": {
          "fallSpeedInTiles": 2
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "missiles",
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ]
    },
    {
      "link": [
        3,
        5
      ],
      "name": "Grapple Teleport",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              12
            ],
            [
              12,
              13
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true
    },
    {
      "link": [
        3,
        5
      ],
      "name": "Carry Grapple Teleport (Top Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              12
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              12
            ]
          ]
        }
      }
    },
    {
      "link": [
        3,
        5
      ],
      "name": "Carry Grapple Teleport (Bottom Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              13
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              13
            ]
          ]
        }
      }
    },
    {
      "link": [
        3,
        6
      ],
      "name": "Shinespark (Come in Shinecharging)",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 12,
          "openEnd": 0
        }
      },
      "requires": [
        {
          "shinespark": {
            "frames": 45,
            "excessFrames": 5
          }
        }
      ],
      "devNote": [
        "One tile longer runway could be used if the opposite door can be shot open while running.",
        "This could be done if the door is blue (and run speed is low enough), or pink/green with a Super.",
        "It's not obvious if this is worth modeling though."
      ]
    },
    {
      "link": [
        3,
        6
      ],
      "name": "Shinespark (Come in Shinecharged)",
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 40
        }
      },
      "requires": [
        {
          "shinespark": {
            "frames": 45,
            "excessFrames": 5
          }
        }
      ]
    },
    {
      "link": [
        3,
        6
      ],
      "name": "G-mode Morph IBJ, Power Bomb the Rippers",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": true
        }
      },
      "requires": [
        "h_canArtificialMorphIBJ",
        "h_canArtificialMorphPowerBomb",
        {
          "or": [
            "canTrickyJump",
            "h_canArtificialMorphPowerBomb"
          ]
        },
        "h_canArtificialMorphPowerBomb"
      ],
      "clearsObstacles": [
        "A"
      ],
      "note": [
        "Use two Power Bombs to kill the Rippers, or carefully pass the first two and place a single Power Bomb on the left ledge to kill them all.",
        "Exit G-Mode before the Power Bomb explodes in order to break the wall."
      ]
    },
    {
      "link": [
        3,
        6
      ],
      "name": "Red Tower IBJ Between the Bottom Rippers (Artificial Morph)",
      "notable": true,
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": true
        }
      },
      "requires": [
        "h_canArtificialMorphDoubleBombJump",
        "h_canArtificialMorphStaggeredIBJ",
        "h_canArtificialMorphPowerBomb"
      ],
      "clearsObstacles": [
        "A"
      ],
      "reusableRoomwideNotable": "Red Tower IBJ Between the Bottom Rippers",
      "note": [
        "Requires switching between single and double IBJs. While Doubles are not techincally necessary, they make the strat more bearable.",
        "Exit G-Mode before the Power Bomb explodes in order to break the wall.",
        "With an extra Power Bomb, it may be worthwhile to use it to kill some of the Rippers."
      ]
    },
    {
      "link": [
        3,
        7
      ],
      "name": "Shinespark (Come in Shinecharging)",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 12,
          "openEnd": 0
        }
      },
      "requires": [
        {
          "shinespark": {
            "frames": 34,
            "excessFrames": 10
          }
        },
        {
          "enemyDamage": {
            "enemy": "Ripper",
            "type": "contact",
            "hits": 1
          }
        }
      ],
      "note": "Perform a diagonal spark up to the right ledge.",
      "devNote": [
        "Sparking vertically uses 2 more frames, but prevents the Ripper hit if Samus has enough energy to hit the ceiling.",
        "One tile longer runway could be used if the opposite door can be shot open while running.",
        "This could be done if the door is blue (and run speed is low enough), or pink/green with a Super.",
        "It's not obvious if this is worth modeling though."
      ]
    },
    {
      "link": [
        3,
        7
      ],
      "name": "Shinespark (Come in Shinecharged)",
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 5
        }
      },
      "requires": [
        {
          "shinespark": {
            "frames": 34,
            "excessFrames": 10
          }
        },
        {
          "enemyDamage": {
            "enemy": "Ripper",
            "type": "contact",
            "hits": 1
          }
        }
      ],
      "note": "Immediately perform a diagonal spark up to the right ledge on entry.",
      "devNote": "Sparking vertically uses 2 more frames, but prevents the Ripper hit if Samus has enough energy to hit the ceiling."
    },
    {
      "link": [
        3,
        8
      ],
      "name": "Base",
      "requires": []
    },
    {
      "link": [
        4,
        2
      ],
      "name": "R-Mode Frozen Beetom X-Ray Climb",
      "notable": true,
      "entranceCondition": {
        "comeInWithRMode": {}
      },
      "requires": [
        {
          "or": [
            "canWalljump",
            "HiJump",
            "h_canFly",
            "canSpringBallJumpMidAir"
          ]
        },
        {
          "enemyDamage": {
            "enemy": "Beetom",
            "type": "contact",
            "hits": 1
          }
        },
        {
          "enemyDamage": {
            "enemy": "Ripper",
            "type": "contact",
            "hits": 1
          }
        },
        "canWallIceClip",
        "canXRayClimb"
      ],
      "reusableRoomwideNotable": "Red Tower R-Mode Frozen Beetom X-Ray Climb",
      "note": [
        "Gain R-mode while entering the room.",
        "Use the respawning bugs to refill reserve energy.",
        "Get grabbed by the Beetom and carry it to the 4-tile high gap one screen above the bottom-left door.",
        "Position Samus one pixel to the right of being against the wall.",
        "Jump and aim down, reaching the ceiling at the same time that reserves are triggered.",
        "This will force Samus to stand up, briefly clipping into the wall above.",
        "Immediately freeze the Beetom inside the wall, by buffering a shot during the reserve trigger.",
        "Use a Ripper to get knocked back onto the frozen Beetom.",
        "This will clip Samus one pixel left into the wall, making it possible to X-ray climb.",
        "X-ray climb up 2 screens."
      ]
    },
    {
      "link": [
        4,
        3
      ],
      "name": "Come in Shinecharging, Leave Shinecharged",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 13,
          "openEnd": 0
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveShinecharged": {
          "framesRemaining": 160
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "missiles",
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ]
    },
    {
      "link": [
        4,
        3
      ],
      "name": "Carry Shinecharge",
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 55
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveShinecharged": {
          "framesRemaining": "auto"
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "missiles",
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ]
    },
    {
      "link": [
        4,
        3
      ],
      "name": "Come In Shinecharged, Leave With Spark",
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 10
        }
      },
      "requires": [
        {
          "shinespark": {
            "frames": 21
          }
        }
      ],
      "exitCondition": {
        "leaveWithSpark": {}
      },
      "unlocksDoors": [
        {
          "types": [
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "missiles",
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ]
    },
    {
      "link": [
        4,
        3
      ],
      "name": "Transition with Stored Fall Speed",
      "entranceCondition": {
        "comeInWithStoredFallSpeed": {
          "fallSpeedInTiles": 1
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveWithStoredFallSpeed": {
          "fallSpeedInTiles": 1
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "missiles",
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ]
    },
    {
      "link": [
        4,
        3
      ],
      "name": "Transition with Stored Fall Speed (more speed)",
      "entranceCondition": {
        "comeInWithStoredFallSpeed": {
          "fallSpeedInTiles": 2
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveWithStoredFallSpeed": {
          "fallSpeedInTiles": 2
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "missiles",
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ]
    },
    {
      "link": [
        4,
        4
      ],
      "name": "Leave With Runway",
      "requires": [],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 13,
          "openEnd": 0
        }
      }
    },
    {
      "link": [
        4,
        4
      ],
      "name": "Leave With Runway, Both Doors Open",
      "requires": [
        {
          "doorUnlockedAtNode": 3
        }
      ],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 14,
          "openEnd": 0
        }
      },
      "unlocksDoors": [
        {
          "nodeId": 3,
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ]
    },
    {
      "link": [
        4,
        5
      ],
      "name": "Grapple Teleport",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              7,
              2
            ]
          ]
        }
      },
      "requires": []
    },
    {
      "link": [
        4,
        5
      ],
      "name": "Red Tower Grapple Teleport Inside Wall",
      "notable": true,
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              12
            ],
            [
              3,
              13
            ]
          ]
        }
      },
      "requires": [
        "Morph"
      ],
      "note": [
        "After teleporting, Samus should be standing inside the wall.",
        "Retract Grapple by pressing up, which will pull Samus down and right.",
        "Hold right, and release Grapple while still holding right.",
        "Perform a turn-around spin jump (to the left).",
        "Then morph and roll out to the right."
      ]
    },
    {
      "link": [
        4,
        6
      ],
      "name": "Shinespark (Come in Shinecharging)",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 12,
          "openEnd": 0
        }
      },
      "requires": [
        {
          "shinespark": {
            "frames": 45,
            "excessFrames": 5
          }
        }
      ],
      "devNote": [
        "One tile longer runway could be used if the opposite door can be shot open while running.",
        "This could be done if the door is blue (and run speed is low enough), or pink/green with a Super.",
        "It's not obvious if this is worth modeling though."
      ]
    },
    {
      "link": [
        4,
        6
      ],
      "name": "Shinespark (Come in Shinecharged)",
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 30
        }
      },
      "requires": [
        {
          "shinespark": {
            "frames": 45,
            "excessFrames": 5
          }
        }
      ]
    },
    {
      "link": [
        4,
        6
      ],
      "name": "G-mode Morph IBJ, Power Bomb the Rippers",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": true
        }
      },
      "requires": [
        "h_canArtificialMorphIBJ",
        "h_canArtificialMorphPowerBomb",
        {
          "or": [
            "canTrickyJump",
            "h_canArtificialMorphPowerBomb"
          ]
        },
        "h_canArtificialMorphPowerBomb"
      ],
      "clearsObstacles": [
        "A"
      ],
      "note": [
        "Use two Power Bombs to kill the Rippers, or carefully pass the first two and place a single Power Bomb on the left ledge to kill them all.",
        "Exit G-Mode before the Power Bomb explodes in order to break the wall."
      ]
    },
    {
      "link": [
        4,
        6
      ],
      "name": "Red Tower IBJ Between the Bottom Rippers (Artificial Morph)",
      "notable": true,
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": true
        }
      },
      "requires": [
        "h_canArtificialMorphDoubleBombJump",
        "h_canArtificialMorphStaggeredIBJ",
        "h_canArtificialMorphPowerBomb"
      ],
      "clearsObstacles": [
        "A"
      ],
      "reusableRoomwideNotable": "Red Tower IBJ Between the Bottom Rippers",
      "note": [
        "Requires switching between single and double IBJs. While Doubles are not techincally necessary, they make the strat more bearable.",
        "Exit G-Mode before the Power Bomb explodes in order to break the wall.",
        "With an extra Power Bomb, it may be worthwhile to use it to kill some of the Rippers."
      ]
    },
    {
      "link": [
        4,
        7
      ],
      "name": "Shinespark (Come in Shinecharging)",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 12,
          "openEnd": 0
        }
      },
      "requires": [
        {
          "shinespark": {
            "frames": 34,
            "excessFrames": 10
          }
        },
        {
          "enemyDamage": {
            "enemy": "Ripper",
            "type": "contact",
            "hits": 1
          }
        }
      ],
      "note": "Perform a diagonal spark up to the right ledge.",
      "devNote": [
        "Sparking vertically uses 2 more frames, but prevents the Ripper hit if Samus has enough energy to hit the ceiling.",
        "One tile longer runway could be used if the opposite door can be shot open while running.",
        "This could be done if the door is blue (and run speed is low enough), or pink/green with a Super.",
        "It's not obvious if this is worth modeling though."
      ]
    },
    {
      "link": [
        4,
        7
      ],
      "name": "Shinespark (Come in Shinecharged)",
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 5
        }
      },
      "requires": [
        {
          "shinespark": {
            "frames": 34,
            "excessFrames": 10
          }
        },
        {
          "enemyDamage": {
            "enemy": "Ripper",
            "type": "contact",
            "hits": 1
          }
        }
      ],
      "note": "Immediately perform a diagonal spark up to the right ledge on entry.",
      "devNote": "Sparking vertically uses 2 more frames, but prevents the Ripper hit if Samus has enough energy to hit the ceiling."
    },
    {
      "link": [
        4,
        8
      ],
      "name": "Base",
      "requires": []
    },
    {
      "link": [
        5,
        2
      ],
      "name": "R-Mode Frozen Beetom X-Ray Climb",
      "notable": true,
      "entranceCondition": {
        "comeInWithRMode": {}
      },
      "requires": [
        {
          "enemyDamage": {
            "enemy": "Beetom",
            "type": "contact",
            "hits": 1
          }
        },
        {
          "enemyDamage": {
            "enemy": "Ripper",
            "type": "contact",
            "hits": 1
          }
        },
        "canWallIceClip",
        "canXRayClimb"
      ],
      "reusableRoomwideNotable": "Red Tower R-Mode Frozen Beetom X-Ray Climb",
      "note": [
        "Gain R-mode while entering the room.",
        "Use the respawning bugs to refill reserve energy.",
        "Get grabbed by the Beetom and carry it to the 4-tile high gap one screen above the bottom-left door.",
        "Position Samus one pixel to the right of being against the wall.",
        "Jump and aim down, reaching the ceiling at the same time that reserves are triggered.",
        "This will force Samus to stand up, briefly clipping into the wall above.",
        "Immediately freeze the Beetom inside the wall, by buffering a shot during the reserve trigger.",
        "Use a Ripper to get knocked back onto the frozen Beetom.",
        "This will clip Samus one pixel left into the wall, making it possible to X-ray climb.",
        "X-ray climb up 2 screens."
      ],
      "devNote": "Given the ability to freeze enemies, nodes 1 and 5 are freely connected, so lumping these into one strat is sound."
    },
    {
      "link": [
        5,
        5
      ],
      "name": "Crystal Flash",
      "requires": [
        "h_canCrystalFlash"
      ]
    },
    {
      "link": [
        5,
        5
      ],
      "name": "Leave With Runway",
      "requires": [],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 13,
          "openEnd": 0
        }
      }
    },
    {
      "link": [
        5,
        5
      ],
      "name": "G-Mode Setup - Get Hit By Beetom",
      "notable": false,
      "requires": [
        {
          "obstaclesNotCleared": [
            "A"
          ]
        },
        "HiJump",
        {
          "or": [
            "canUseFrozenEnemies",
            {
              "and": [
                "SpaceJump",
                {
                  "obstaclesCleared": [
                    "B"
                  ]
                }
              ]
            },
            {
              "and": [
                "canConsecutiveWalljump",
                {
                  "obstaclesCleared": [
                    "B"
                  ]
                }
              ]
            }
          ]
        },
        {
          "enemyDamage": {
            "enemy": "Beetom",
            "type": "contact",
            "hits": 9
          }
        }
      ],
      "exitCondition": {
        "leaveWithGModeSetup": {
          "knockback": false
        }
      },
      "note": [
        "Without any suits or tanks, Samus will need to move the Beetom part way up the room, shake it off, and go back and farm multiple times.",
        "While the Beetom is near the top section, by the Rippers, shake the Beetom off, and re-grab it and ascend the shaft.",
        "Either use frozen Rippers as platforms, while shooting diagonally to prevent freezing the Beetom, or kill the Rippers before ascending.",
        "Be careful not to apply too many inputs after grabbing the Beetom in order to get to the top before it is shaken off."
      ],
      "devNote": [
        "Some items may reduce the number of Beetom hits, but it's irrelevant since there is an accesible farm in-room.",
        "FIXME: Add more options for how to ascend the shaft, either without HiJump, or without killing the Rippers. These may need to be notable."
      ]
    },
    {
      "link": [
        5,
        9
      ],
      "name": "Base",
      "requires": []
    },
    {
      "link": [
        6,
        1
      ],
      "name": "Base",
      "requires": [
        {
          "or": [
            "canWalljump",
            "HiJump",
            "canSpringBallJumpMidAir",
            "h_canFly"
          ]
        }
      ]
    },
    {
      "link": [
        6,
        1
      ],
      "name": "Frozen Beetom Lure",
      "requires": [
        "canTrickyUseFrozenEnemies",
        "h_canCrouchJumpDownGrab",
        {
          "obstaclesNotCleared": [
            "A"
          ]
        }
      ],
      "note": "Using a crouch jump, get the Beetom attach to Samus. Quickly freeze it before it deals damage, if Samus is at very low energy."
    },
    {
      "link": [
        6,
        7
      ],
      "name": "Base",
      "requires": []
    },
    {
      "link": [
        7,
        6
      ],
      "name": "Base",
      "requires": [
        {
          "or": [
            "SpaceJump",
            {
              "and": [
                "HiJump",
                "SpeedBooster"
              ]
            },
            {
              "and": [
                "HiJump",
                "canConsecutiveWalljump"
              ]
            }
          ]
        }
      ]
    },
    {
      "link": [
        7,
        6
      ],
      "name": "Use Frozen Enemies",
      "requires": [
        "canUseFrozenEnemies",
        {
          "or": [
            "HiJump",
            "canWalljump",
            "canSpringBallJumpMidAir",
            "h_canIBJ"
          ]
        }
      ]
    },
    {
      "link": [
        7,
        6
      ],
      "name": "IBJ",
      "requires": [
        "h_canIBJ",
        {
          "or": [
            {
              "and": [
                "canWalljump",
                "ScrewAttack"
              ]
            },
            {
              "and": [
                {
                  "or": [
                    "canWalljump",
                    "canSpringBallJumpMidAir"
                  ]
                },
                {
                  "ammo": {
                    "type": "PowerBomb",
                    "count": 1
                  }
                }
              ]
            },
            {
              "enemyKill": {
                "enemies": [
                  [
                    "Ripper",
                    "Ripper",
                    "Ripper"
                  ],
                  [
                    "Ripper"
                  ]
                ],
                "explicitWeapons": [
                  "Super",
                  "PowerBomb"
                ]
              }
            }
          ]
        }
      ]
    },
    {
      "link": [
        7,
        6
      ],
      "name": "Red Tower IBJ Between the Bottom Rippers",
      "notable": true,
      "requires": [
        "h_canDoubleBombJump",
        "h_canStaggeredIBJ"
      ],
      "reusableRoomwideNotable": "Red Tower IBJ Between the Bottom Rippers",
      "note": "Requires switching between single and double IBJs. While Doubles are not techincally necessary, they make the strat more bearable."
    },
    {
      "link": [
        7,
        6
      ],
      "name": "SpringBall Jump",
      "requires": [
        "canSpringBallJumpMidAir",
        {
          "or": [
            "canWalljump",
            {
              "and": [
                "HiJump",
                "canTrickyJump"
              ]
            }
          ]
        },
        {
          "or": [
            "canTrickySpringBallJump",
            "canSpringwall"
          ]
        }
      ]
    },
    {
      "link": [
        7,
        6
      ],
      "name": "Red Tower Midair HBJ",
      "notable": true,
      "requires": [
        "canWallJumpBombBoost",
        "h_canHBJ"
      ],
      "note": [
        "Starting on the right ledge at the bottom of Red Tower, wall jump just below the middle plant, just above the top ripper.",
        "Place two bombs out of the wall jump landing on the first bomb and getting boosted by both.",
        "While rising, place two more bombs for a second HBJ. Colliding with the side of the ledge after the third bomb can help."
      ]
    },
    {
      "link": [
        7,
        6
      ],
      "name": "Diagonal Bomb Jump",
      "requires": [
        "canWalljump",
        "h_canDiagonalBombJump"
      ]
    },
    {
      "link": [
        7,
        8
      ],
      "name": "Base",
      "requires": []
    },
    {
      "link": [
        8,
        3
      ],
      "name": "Base",
      "requires": []
    },
    {
      "link": [
        8,
        4
      ],
      "name": "Base",
      "requires": []
    },
    {
      "link": [
        8,
        7
      ],
      "name": "Base",
      "requires": []
    },
    {
      "link": [
        8,
        8
      ],
      "name": "Crystal Flash",
      "requires": [
        "h_canCrystalFlash"
      ]
    },
    {
      "link": [
        9,
        1
      ],
      "name": "Base",
      "requires": []
    },
    {
      "link": [
        9,
        5
      ],
      "name": "Wall Jump",
      "requires": [
        "canConsecutiveWalljump",
        {
          "or": [
            "canPreciseWalljump",
            "canSpringwall",
            "HiJump"
          ]
        },
        {
          "obstaclesCleared": [
            "B"
          ]
        }
      ],
      "note": "Kill the Rippers then wall jump up.",
      "devNote": "With these tech, it's not hard to get up "
    },
    {
      "link": [
        9,
        5
      ],
      "name": "Use Frozen Enemies",
      "requires": [
        "canUseFrozenEnemies",
        {
          "obstaclesNotCleared": [
            "B"
          ]
        }
      ]
    },
    {
      "link": [
        9,
        5
      ],
      "name": "Red Tower Hero Shot",
      "notable": true,
      "requires": [
        "canHeroShot",
        "canPreciseWalljump",
        "canStaggeredWalljump"
      ],
      "note": "Wall jump between the Rippers. Either shoot the block, fall, and quickly climb again, or shoot from the bottom and follow Samus's shot up the tower."
    },
    {
      "link": [
        9,
        5
      ],
      "name": "Space Jump",
      "requires": [
        "SpaceJump",
        {
          "or": [
            "HiJump",
            {
              "and": [
                "canCarefulJump",
                "canWalljump"
              ]
            }
          ]
        },
        {
          "obstaclesCleared": [
            "B"
          ]
        }
      ],
      "note": [
        "This strat is for killing all of the Rippers and then using Space Jump to get up without consecutive wall jumps.",
        "Space jump up near the shot block, then shoot it while falling right as it goes off screen, then space jump back up."
      ]
    },
    {
      "link": [
        9,
        5
      ],
      "name": "Red Tower Climb with Space Jump",
      "notable": true,
      "requires": [
        "SpaceJump",
        "canTrickyJump"
      ],
      "note": [
        "Climb the top of Red Tower with just Space Jump.",
        "This can be done by dodging the Rippers and shooting the block as Samus is going upward, so she goes through the block as it breaks.",
        "HiJump or killing the Rippers can help but are not required.",
        "If the Rippers are killed, this can instead be done by shooting the block while falling right as it goes off screen,",
        "then using well-timed short space jumps to go up as rapidly as possible before the block respawns."
      ]
    },
    {
      "link": [
        9,
        5
      ],
      "name": "Jump Into IBJ",
      "requires": [
        "h_canJumpIntoIBJ",
        {
          "or": [
            "canBombAboveIBJ",
            {
              "ammo": {
                "type": "PowerBomb",
                "count": 1
              }
            }
          ]
        },
        {
          "obstaclesCleared": [
            "B"
          ]
        }
      ],
      "note": [
        "Jump into IBJ to avoid breaking the ledges. Place a Power Bomb on the ascent to break the block and continue the IBJ through it.",
        "It is possible to do without a Power Bomb with canBombAboveIBJ."
      ]
    },
    {
      "link": [
        9,
        5
      ],
      "name": "Long IBJ With Broken Ledges",
      "requires": [
        "canBeVeryPatient",
        "h_canIBJ",
        {
          "ammo": {
            "type": "PowerBomb",
            "count": 1
          }
        },
        {
          "or": [
            {
              "obstaclesCleared": [
                "B"
              ]
            },
            {
              "ammo": {
                "type": "PowerBomb",
                "count": 2
              }
            }
          ]
        }
      ],
      "note": [
        "Without canJumpIntoIBJ, Samus will need to kill the Rippers while breaking the bomb blocks then start from the platforms below.",
        "Place a Power Bomb on the ascent to break the block and continue the IBJ through it."
      ]
    },
    {
      "link": [
        9,
        9
      ],
      "name": "Kill the Rippers - Power Bomb Without Breaking the Ledges",
      "requires": [
        "h_canUsePowerBombs",
        "canCarefulJump",
        {
          "or": [
            "canWalljump",
            "canSpringBallJumpMidAir",
            "SpaceJump",
            {
              "and": [
                "HiJump",
                "canTrickyDashJump"
              ]
            },
            {
              "and": [
                "h_canJumpIntoIBJ",
                {
                  "or": [
                    "canStaggeredIBJ",
                    "canDoubleBombJump"
                  ]
                }
              ]
            }
          ]
        }
      ],
      "clearsObstacles": [
        "B"
      ],
      "note": "To kill the Rippers with a single Power Bomb without breaking the ledge, place the bomb just above the second Ripper."
    },
    {
      "link": [
        9,
        9
      ],
      "name": "Kill the Rippers - Supers",
      "requires": [
        {
          "ammo": {
            "type": "Super",
            "count": 4
          }
        },
        {
          "or": [
            "canWalljump",
            "SpaceJump",
            "h_canJumpIntoIBJ",
            {
              "and": [
                "canSpringBallJumpMidAir",
                {
                  "or": [
                    "HiJump",
                    "canTrickyJump"
                  ]
                }
              ]
            }
          ]
        }
      ],
      "clearsObstacles": [
        "B"
      ],
      "note": "Kill the Rippers with Supers."
    },
    {
      "link": [
        9,
        9
      ],
      "name": "Kill the Rippers - Screw Attack",
      "requires": [
        "ScrewAttack",
        {
          "or": [
            "SpaceJump",
            "canConsecutiveWalljump",
            {
              "and": [
                "canWalljump",
                "HiJump"
              ]
            }
          ]
        }
      ],
      "clearsObstacles": [
        "B"
      ],
      "note": "Kill the Rippers with Screw Attack. Break spin before landing to prevent breaking the platform."
    }
  ]
}