Frog Speedway

Room ID: 93

Wiki
Difficulty filter

From: 1
Left Door
To: 1
Left Door

Exit condition:

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

Requires:

{
  "resetRoom": {
    "nodes": [
      1
    ],
    "mustStayPut": false
  }
}
{
  "or": [
    "ScrewAttack",
    "SpeedBooster",
    {
      "and": [
        "Ice",
        "h_canUseMorphBombs"
      ]
    }
  ]
}
{
  "refill": [
    "PowerBomb"
  ]
}
From: 1
Left Door
To: 1
Left Door

Requires:

"h_canCrystalFlash"
From: 1
Left Door
To: 1
Left Door

Lay a Power Bomb, collect a Power Bomb from a Beetom drop, then return in time to press the Crystal Flash inputs. This can be done either by laying the Power Bomb in a corner against a door or Speed blocks, or by not moving horizontally when collecting the drop. There is a safe way to do this without taking Beetom damage: If entering from the left door, lay a Power Bomb when the first Beetom comes on screen, run through the drops before they appear, place a Power Bomb in the corner against the Speed blocks, pick up two Power Bomb drops, and return in time to press the Crystal Flash inputs. If entering from the right door, waste a Power Bomb if you are full, use Speed Booster to run part way through the Speed blocks and spawn Power Bomb drops, and then continue in the same way.

Requires:

{
  "or": [
    {
      "resetRoom": {
        "nodes": [
          1
        ],
        "mustStayPut": false
      }
    },
    {
      "and": [
        "SpeedBooster",
        {
          "resetRoom": {
            "nodes": [
              2
            ],
            "mustStayPut": false
          }
        }
      ]
    }
  ]
}
"h_can10PowerBombCrystalFlash"
From: 1
Left Door
To: 1
Left Door

To save Energy, it is possible to lure a Beetom to the door without taking any extra hits and without any items. Get close enough to it to get it to hop towards Samus, then walk and occasionally run to the door with it following. It is possible to do this while crossing the room with SpeedBooster by jumping while blue at the end of the speed blocks.

Exit condition:

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

Freeze a Beetom at head height where Samus can Spinjump into it and begin Moondancing.

Requires:

"canMoondance"
"canTrickyUseFrozenEnemies"
{
  "enemyDamage": {
    "enemy": "Beetom",
    "type": "contact",
    "hits": 2
  }
}

Exit condition:

{
  "leaveWithStoredFallSpeed": {
    "fallSpeedInTiles": 1
  }
}
From: 1
Left Door
To: 1
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, then continue dancing.

Requires:

"canExtendedMoondance"
"canTrickyUseFrozenEnemies"
{
  "enemyDamage": {
    "enemy": "Beetom",
    "type": "contact",
    "hits": 2
  }
}
"h_ExtendedMoondanceBeetomLeniency"

Exit condition:

{
  "leaveWithStoredFallSpeed": {
    "fallSpeedInTiles": 2
  }
}

Notable: true

Use SpeedBooster to construct a structure for Moondancing that has 1 chest height block and 1 head height block to the right of it and no other Speed blocks. Crystal Flash below the lower block, exactly pixel aligned with its right side, to standup and then begin Moondancing. After Samus sinks through the bottom tile, it is possible to use Grapple to return to a crouch and wiggle right and then Turn-Around Aim Cancel to escape to the right. Without Grapple, count to 174 Moonfalls and delicately Moonfall so as to remain crouched and then wiggle to the right. Finally, use SpeedBooster if needed to break the remaining Speed blocks and reach the door.

Requires:

"h_canCrystalFlash"
"canTrickyJump"
"canTurnaroundAimCancel"
"canTemporaryBlue"
"canMoondance"
"canSpeedball"

Exit condition:

{
  "leaveWithStoredFallSpeed": {
    "fallSpeedInTiles": 1
  }
}

Notable: true

Use SpeedBooster to construct a structure for Moondancing that has 1 chest height block and 1 head height block to the right of it and no other Speed blocks. Crystal Flash below the lower block, exactly pixel aligned with its right side, to standup and then begin Moondancing. After Samus sinks through the floor tiles, use Grapple to return to a standing position and count an additional 145 moonfalls. Then use Grapple to return to a crouch and wiggle right and Turn-Around Aim Cancel to escape to the right. Finally, use SpeedBooster if needed to break the remaining Speed blocks and reach the door.

Requires:

"h_canCrystalFlash"
"canTrickyJump"
"canTurnaroundAimCancel"
"canTemporaryBlue"
"canExtendedMoondance"
"canSpeedball"

Exit condition:

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

Requires:

"SpeedBooster"
From: 1
Left Door
To: 2
Right Door

Freeze a Beetom at head height where Samus can Spinjump into it and begin Moondancing.

Requires:

"canMoondance"
"canTrickyUseFrozenEnemies"
"SpeedBooster"
{
  "enemyDamage": {
    "enemy": "Beetom",
    "type": "contact",
    "hits": 2
  }
}

Exit condition:

{
  "leaveWithStoredFallSpeed": {
    "fallSpeedInTiles": 1
  }
}
From: 1
Left Door
To: 2
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, then continue dancing.

Requires:

"canExtendedMoondance"
"canTrickyUseFrozenEnemies"
"SpeedBooster"
{
  "enemyDamage": {
    "enemy": "Beetom",
    "type": "contact",
    "hits": 2
  }
}
"h_ExtendedMoondanceBeetomLeniency"

Exit condition:

{
  "leaveWithStoredFallSpeed": {
    "fallSpeedInTiles": 2
  }
}

Notable: true

Use SpeedBooster to construct a structure for Moondancing that has 1 chest height block and 1 head height block to the right of it and no other Speed blocks. Crystal Flash below the lower block, exactly pixel aligned with its right side, to standup and then begin Moondancing. After Samus sinks through the bottom tile, it is possible to use Grapple to return to a crouch and wiggle right and then Turn-Around Aim Cancel to escape to the right. Without Grapple, count to 174 Moonfalls and delicately Moonfall so as to remain crouched and then wiggle to the right. Finally, use SpeedBooster if needed to break the remaining Speed blocks and reach the door.

Requires:

"h_canCrystalFlash"
"canTrickyJump"
"canTurnaroundAimCancel"
"canTemporaryBlue"
"canMoondance"
"canSpeedball"

Exit condition:

{
  "leaveWithStoredFallSpeed": {
    "fallSpeedInTiles": 1
  }
}

Notable: true

Use SpeedBooster to construct a structure for Moondancing that has 1 chest height block and 1 head height block to the right of it and no other Speed blocks. Crystal Flash below the lower block, exactly pixel aligned with its right side, to standup and then begin Moondancing. After Samus sinks through the floor tiles, use Grapple to return to a standing position and count an additional 145 moonfalls. Then use Grapple to return to a crouch and wiggle right and Turn-Around Aim Cancel to escape to the right. Finally, use SpeedBooster if needed to break the remaining Speed blocks and reach the door.

Requires:

"h_canCrystalFlash"
"canTrickyJump"
"canTurnaroundAimCancel"
"canTemporaryBlue"
"canExtendedMoondance"
"canSpeedball"

Exit condition:

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

Entrance condition:

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

Requires:

"SpeedBooster"

Exit condition:

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

Entrance condition:

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

Requires:

"SpeedBooster"

Exit condition:

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

Entrance condition:

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

Requires:

"SpeedBooster"
From: 2
Right Door
To: 1
Left Door

Notable: true

This strat is only usable right to left. This room has many offscreen shot blocks. Shooting enough of them with wave + spazer or wave + plasma allows you to pass through the speed blocks. There is just enough time to pass through all of the Speed blocks before they become solid again.

Requires:

"Wave"
{
  "or": [
    "Spazer",
    "Plasma"
  ]
}
{
  "enemyDamage": {
    "enemy": "Beetom",
    "type": "contact",
    "hits": 3
  }
}
{
  "or": [
    "Ice",
    {
      "ammo": {
        "type": "Missile",
        "count": 1
      }
    },
    {
      "ammo": {
        "type": "Super",
        "count": 1
      }
    },
    "ScrewAttack",
    {
      "and": [
        {
          "enemyDamage": {
            "enemy": "Beetom",
            "type": "contact",
            "hits": 5
          }
        },
        "h_canBombThings"
      ]
    },
    {
      "enemyDamage": {
        "enemy": "Beetom",
        "type": "contact",
        "hits": 15
      }
    }
  ]
}
From: 2
Right Door
To: 1
Left Door

Entrance condition:

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

Entrance condition:

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

Bypasses door shell: true

From: 2
Right Door
To: 1
Left Door

Entrance condition:

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

Exit condition:

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

Bypasses door shell: true

From: 2
Right Door
To: 1
Left Door

Entrance condition:

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

Exit condition:

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

Bypasses door shell: true

From: 2
Right Door
To: 1
Left Door

Entrance condition:

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

Requires:

"SpeedBooster"

Exit condition:

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

Entrance condition:

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

Requires:

"SpeedBooster"

Exit condition:

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

Notable: true

This strat is only usable right to left. This room has many offscreen shot blocks. Shooting enough of them with wave + spazer or wave + plasma allows you to pass through the speed blocks. There is just enough time to pass through all of the Speed blocks before they become solid again.

Entrance condition:

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

Requires:

"Wave"
{
  "or": [
    "Spazer",
    "Plasma"
  ]
}
{
  "enemyDamage": {
    "enemy": "Beetom",
    "type": "contact",
    "hits": 3
  }
}
{
  "or": [
    "Ice",
    {
      "ammo": {
        "type": "Missile",
        "count": 1
      }
    },
    {
      "ammo": {
        "type": "Super",
        "count": 1
      }
    },
    "ScrewAttack",
    {
      "and": [
        {
          "enemyDamage": {
            "enemy": "Beetom",
            "type": "contact",
            "hits": 5
          }
        },
        "h_canBombThings"
      ]
    },
    {
      "enemyDamage": {
        "enemy": "Beetom",
        "type": "contact",
        "hits": 15
      }
    }
  ]
}

Exit condition:

{
  "leaveWithStoredFallSpeed": {
    "fallSpeedInTiles": 1
  }
}

Notable: true

This strat is only usable right to left. This room has many offscreen shot blocks. Shooting enough of them with wave + spazer or wave + plasma allows you to pass through the speed blocks. There is just enough time to pass through all of the Speed blocks before they become solid again.

Entrance condition:

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

Requires:

"Wave"
{
  "or": [
    "Spazer",
    "Plasma"
  ]
}
{
  "enemyDamage": {
    "enemy": "Beetom",
    "type": "contact",
    "hits": 3
  }
}
{
  "or": [
    "Ice",
    {
      "ammo": {
        "type": "Missile",
        "count": 1
      }
    },
    {
      "ammo": {
        "type": "Super",
        "count": 1
      }
    },
    "ScrewAttack",
    {
      "and": [
        {
          "enemyDamage": {
            "enemy": "Beetom",
            "type": "contact",
            "hits": 5
          }
        },
        "h_canBombThings"
      ]
    },
    {
      "enemyDamage": {
        "enemy": "Beetom",
        "type": "contact",
        "hits": 15
      }
    }
  ]
}

Exit condition:

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

Exit condition:

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

Requires:

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

Notable: true

Fire wide Wave beam shots into the ceiling until it is possible to walk through the Speed blocks. Let a Beetom attach to Samus and then return to the right. Freeze the Beetom at head height where Samus can Spinjump into it and begin Moondancing.

Requires:

"canMoondance"
"canTrickyUseFrozenEnemies"
{
  "enemyDamage": {
    "enemy": "Beetom",
    "type": "contact",
    "hits": 2
  }
}
"Wave"
{
  "or": [
    "Spazer",
    "Plasma"
  ]
}

Exit condition:

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

Notable: true

Fire wide Wave beam shots into the ceiling until it is possible to walk through the Speed blocks. Let a Beetom attach to Samus and then return to the right. Freeze the Beetom at head height where Samus can Spinjump into it and begin Moondancing. After 175 moonfalls, reposition the Beetom to chest height, then continue dancing.

Requires:

"canExtendedMoondance"
"canTrickyUseFrozenEnemies"
{
  "enemyDamage": {
    "enemy": "Beetom",
    "type": "contact",
    "hits": 2
  }
}
"h_ExtendedMoondanceBeetomLeniency"
"Wave"
{
  "or": [
    "Spazer",
    "Plasma"
  ]
}

Exit condition:

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

Carefully run through the blocks without killing all of the Beetoms or getting attacked by one. To save Energy, it is possible to lure a Beetom to the door without taking any extra hits and without any items. Get close enough to it to get it to hop towards Samus, then walk and occasionally run to the door with it following. It is possible to do this while crossing the room with SpeedBooster by luring one close to the left door and leaving it there, running through, then going back for it.

Requires:

"SpeedBooster"

Exit condition:

{
  "leaveWithGModeSetup": {
    "knockback": false
  }
}

{
  "$schema": "../../../schema/m3-room.schema.json",
  "id": 93,
  "name": "Frog Speedway",
  "area": "Norfair",
  "subarea": "Upper",
  "subsubarea": "East",
  "playable": true,
  "roomAddress": "0x7B106",
  "roomEnvironments": [
    {
      "heated": false
    }
  ],
  "nodes": [
    {
      "id": 1,
      "name": "Left Door",
      "nodeType": "door",
      "nodeSubType": "blue",
      "nodeAddress": "0x00197da",
      "doorEnvironments": [
        {
          "physics": "air"
        }
      ]
    },
    {
      "id": 2,
      "name": "Right Door",
      "nodeType": "door",
      "nodeSubType": "blue",
      "nodeAddress": "0x00197e6",
      "doorEnvironments": [
        {
          "physics": "air"
        }
      ]
    }
  ],
  "enemies": [
    {
      "id": "e1",
      "groupName": "Frog Speedway Left Beetoms",
      "enemyName": "Beetom",
      "quantity": 3,
      "homeNodes": [
        1
      ]
    },
    {
      "id": "e2",
      "groupName": "Frog Speedway Right Beetoms",
      "enemyName": "Beetom",
      "quantity": 3,
      "betweenNodes": [
        1,
        2
      ]
    }
  ],
  "reusableRoomwideNotable": [
    {
      "name": "Frog Speedway Shot Block Overload (Speedless Speedway)",
      "note": [
        "This strat is only usable right to left.",
        "This room has many offscreen shot blocks. Shooting enough of them with wave + spazer or wave + plasma allows you to pass through the speed blocks.",
        "There is just enough time to pass through all of the Speed blocks before they become solid again."
      ]
    },
    {
      "name": "Frog Speedway Speed Block Moondance",
      "note": [
        "Use SpeedBooster to construct a structure for Moondancing that has 1 chest height block and 1 head height block to the right of it and no other Speed blocks.",
        "Crystal Flash below the lower block, exactly pixel aligned with its right side, to standup and then begin Moondancing.",
        "After Samus sinks through the bottom tile, it is possible to use Grapple to return to a crouch and wiggle right and then Turn-Around Aim Cancel to escape to the right.",
        "Without Grapple, count to 174 Moonfalls and delicately Moonfall so as to remain crouched and then wiggle to the right.",
        "Finally, use SpeedBooster if needed to break the remaining Speed blocks and reach the door."
      ]
    }
  ],
  "links": [
    {
      "from": 1,
      "to": [
        {
          "id": 1
        },
        {
          "id": 2
        }
      ]
    },
    {
      "from": 2,
      "to": [
        {
          "id": 1
        },
        {
          "id": 2
        }
      ]
    }
  ],
  "strats": [
    {
      "link": [
        1,
        1
      ],
      "name": "Leave with Runway",
      "requires": [],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 45,
          "openEnd": 1
        }
      },
      "devNote": "The last few tiles of the runway technically need a way to deal with the Beetoms, but presumably that length is only useful with SpeedBooster."
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Beetom Farm",
      "requires": [
        {
          "resetRoom": {
            "nodes": [
              1
            ],
            "mustStayPut": false
          }
        },
        {
          "or": [
            "ScrewAttack",
            "SpeedBooster",
            {
              "and": [
                "Ice",
                "h_canUseMorphBombs"
              ]
            }
          ]
        },
        {
          "refill": [
            "PowerBomb"
          ]
        }
      ],
      "devNote": [
        "FIXME: Resetting the room with door node 2 would also be possible.",
        "FIXME: Using a Missile, Super, or Power Bomb at the start could be added to the logic to get the first Power Bombs to use for further farming, but this needs a way to express that we're not in health-bomb energy range."
      ]
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Crystal Flash",
      "requires": [
        "h_canCrystalFlash"
      ]
    },
    {
      "link": [
        1,
        1
      ],
      "name": "10 Power Bomb Crystal Flash",
      "requires": [
        {
          "or": [
            {
              "resetRoom": {
                "nodes": [
                  1
                ],
                "mustStayPut": false
              }
            },
            {
              "and": [
                "SpeedBooster",
                {
                  "resetRoom": {
                    "nodes": [
                      2
                    ],
                    "mustStayPut": false
                  }
                }
              ]
            }
          ]
        },
        "h_can10PowerBombCrystalFlash"
      ],
      "note": [
        "Lay a Power Bomb, collect a Power Bomb from a Beetom drop, then return in time to press the Crystal Flash inputs.",
        "This can be done either by laying the Power Bomb in a corner against a door or Speed blocks, or by not moving horizontally when collecting the drop.",
        "There is a safe way to do this without taking Beetom damage:",
        "If entering from the left door, lay a Power Bomb when the first Beetom comes on screen,",
        "run through the drops before they appear,",
        "place a Power Bomb in the corner against the Speed blocks,",
        "pick up two Power Bomb drops, and return in time to press the Crystal Flash inputs.",
        "If entering from the right door, waste a Power Bomb if you are full,",
        "use Speed Booster to run part way through the Speed blocks and spawn Power Bomb drops,",
        "and then continue in the same way."
      ],
      "devNote": [
        "The resetRoom requirement is in case you need to farm a bit to get above health-bomb energy."
      ]
    },
    {
      "link": [
        1,
        1
      ],
      "name": "G-Mode Setup - Get Hit By Beetom",
      "notable": false,
      "requires": [],
      "exitCondition": {
        "leaveWithGModeSetup": {
          "knockback": false
        }
      },
      "note": [
        "To save Energy, it is possible to lure a Beetom to the door without taking any extra hits and without any items.",
        "Get close enough to it to get it to hop towards Samus, then walk and occasionally run to the door with it following.",
        "It is possible to do this while crossing the room with SpeedBooster by jumping while blue at the end of the speed blocks."
      ]
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Frozen Beetom Moondance",
      "requires": [
        "canMoondance",
        "canTrickyUseFrozenEnemies",
        {
          "enemyDamage": {
            "enemy": "Beetom",
            "type": "contact",
            "hits": 2
          }
        }
      ],
      "exitCondition": {
        "leaveWithStoredFallSpeed": {
          "fallSpeedInTiles": 1
        }
      },
      "note": "Freeze a Beetom at head height where Samus can Spinjump into it and begin Moondancing."
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Frozen Beetom Extended Moondance",
      "requires": [
        "canExtendedMoondance",
        "canTrickyUseFrozenEnemies",
        {
          "enemyDamage": {
            "enemy": "Beetom",
            "type": "contact",
            "hits": 2
          }
        },
        "h_ExtendedMoondanceBeetomLeniency"
      ],
      "exitCondition": {
        "leaveWithStoredFallSpeed": {
          "fallSpeedInTiles": 2
        }
      },
      "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, then continue dancing."
      ]
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Frog Speedway Speed Block Moondance (Leave with Stored Fall Speed)",
      "notable": true,
      "requires": [
        "h_canCrystalFlash",
        "canTrickyJump",
        "canTurnaroundAimCancel",
        "canTemporaryBlue",
        "canMoondance",
        "canSpeedball"
      ],
      "exitCondition": {
        "leaveWithStoredFallSpeed": {
          "fallSpeedInTiles": 1
        }
      },
      "reusableRoomwideNotable": "Frog Speedway Speed Block Moondance",
      "note": [
        "Use SpeedBooster to construct a structure for Moondancing that has 1 chest height block and 1 head height block to the right of it and no other Speed blocks.",
        "Crystal Flash below the lower block, exactly pixel aligned with its right side, to standup and then begin Moondancing.",
        "After Samus sinks through the bottom tile, it is possible to use Grapple to return to a crouch and wiggle right and then Turn-Around Aim Cancel to escape to the right.",
        "Without Grapple, count to 174 Moonfalls and delicately Moonfall so as to remain crouched and then wiggle to the right.",
        "Finally, use SpeedBooster if needed to break the remaining Speed blocks and reach the door."
      ]
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Frog Speedway Speed Block Moondance (Leave with More Stored Fall Speed)",
      "notable": true,
      "requires": [
        "h_canCrystalFlash",
        "canTrickyJump",
        "canTurnaroundAimCancel",
        "canTemporaryBlue",
        "canExtendedMoondance",
        "canSpeedball"
      ],
      "exitCondition": {
        "leaveWithStoredFallSpeed": {
          "fallSpeedInTiles": 2
        }
      },
      "reusableRoomwideNotable": "Frog Speedway Speed Block Moondance",
      "note": [
        "Use SpeedBooster to construct a structure for Moondancing that has 1 chest height block and 1 head height block to the right of it and no other Speed blocks.",
        "Crystal Flash below the lower block, exactly pixel aligned with its right side, to standup and then begin Moondancing.",
        "After Samus sinks through the floor tiles, use Grapple to return to a standing position and count an additional 145 moonfalls.",
        "Then use Grapple to return to a crouch and wiggle right and Turn-Around Aim Cancel to escape to the right.",
        "Finally, use SpeedBooster if needed to break the remaining Speed blocks and reach the door."
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Base",
      "requires": [
        "SpeedBooster"
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Frozen Beetom Moondance",
      "requires": [
        "canMoondance",
        "canTrickyUseFrozenEnemies",
        "SpeedBooster",
        {
          "enemyDamage": {
            "enemy": "Beetom",
            "type": "contact",
            "hits": 2
          }
        }
      ],
      "exitCondition": {
        "leaveWithStoredFallSpeed": {
          "fallSpeedInTiles": 1
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ],
      "note": "Freeze a Beetom at head height where Samus can Spinjump into it and begin Moondancing."
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Frozen Beetom Extended Moondance",
      "requires": [
        "canExtendedMoondance",
        "canTrickyUseFrozenEnemies",
        "SpeedBooster",
        {
          "enemyDamage": {
            "enemy": "Beetom",
            "type": "contact",
            "hits": 2
          }
        },
        "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, then continue dancing."
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Frog Speedway Speed Block Moondance (Leave with Stored Fall Speed)",
      "notable": true,
      "requires": [
        "h_canCrystalFlash",
        "canTrickyJump",
        "canTurnaroundAimCancel",
        "canTemporaryBlue",
        "canMoondance",
        "canSpeedball"
      ],
      "exitCondition": {
        "leaveWithStoredFallSpeed": {
          "fallSpeedInTiles": 1
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ],
      "reusableRoomwideNotable": "Frog Speedway Speed Block Moondance",
      "note": [
        "Use SpeedBooster to construct a structure for Moondancing that has 1 chest height block and 1 head height block to the right of it and no other Speed blocks.",
        "Crystal Flash below the lower block, exactly pixel aligned with its right side, to standup and then begin Moondancing.",
        "After Samus sinks through the bottom tile, it is possible to use Grapple to return to a crouch and wiggle right and then Turn-Around Aim Cancel to escape to the right.",
        "Without Grapple, count to 174 Moonfalls and delicately Moonfall so as to remain crouched and then wiggle to the right.",
        "Finally, use SpeedBooster if needed to break the remaining Speed blocks and reach the door."
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Frog Speedway Speed Block Moondance (Leave with More Stored Fall Speed)",
      "notable": true,
      "requires": [
        "h_canCrystalFlash",
        "canTrickyJump",
        "canTurnaroundAimCancel",
        "canTemporaryBlue",
        "canExtendedMoondance",
        "canSpeedball"
      ],
      "exitCondition": {
        "leaveWithStoredFallSpeed": {
          "fallSpeedInTiles": 2
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ],
      "reusableRoomwideNotable": "Frog Speedway Speed Block Moondance",
      "note": [
        "Use SpeedBooster to construct a structure for Moondancing that has 1 chest height block and 1 head height block to the right of it and no other Speed blocks.",
        "Crystal Flash below the lower block, exactly pixel aligned with its right side, to standup and then begin Moondancing.",
        "After Samus sinks through the floor tiles, use Grapple to return to a standing position and count an additional 145 moonfalls.",
        "Then use Grapple to return to a crouch and wiggle right and Turn-Around Aim Cancel to escape to the right.",
        "Finally, use SpeedBooster if needed to break the remaining Speed blocks and reach the door."
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Transition with Stored Fall Speed",
      "entranceCondition": {
        "comeInWithStoredFallSpeed": {
          "fallSpeedInTiles": 1
        }
      },
      "requires": [
        "SpeedBooster"
      ],
      "exitCondition": {
        "leaveWithStoredFallSpeed": {
          "fallSpeedInTiles": 1
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "missiles",
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Transition with Stored Fall Speed (more speed)",
      "entranceCondition": {
        "comeInWithStoredFallSpeed": {
          "fallSpeedInTiles": 2
        }
      },
      "requires": [
        "SpeedBooster"
      ],
      "exitCondition": {
        "leaveWithStoredFallSpeed": {
          "fallSpeedInTiles": 2
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "missiles",
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Grapple Teleport",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              108,
              12
            ],
            [
              108,
              13
            ]
          ]
        }
      },
      "requires": []
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Base",
      "requires": [
        "SpeedBooster"
      ]
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Frog Speedway Shot Block Overload (Speedless Speedway)",
      "notable": true,
      "requires": [
        "Wave",
        {
          "or": [
            "Spazer",
            "Plasma"
          ]
        },
        {
          "enemyDamage": {
            "enemy": "Beetom",
            "type": "contact",
            "hits": 3
          }
        },
        {
          "or": [
            "Ice",
            {
              "ammo": {
                "type": "Missile",
                "count": 1
              }
            },
            {
              "ammo": {
                "type": "Super",
                "count": 1
              }
            },
            "ScrewAttack",
            {
              "and": [
                {
                  "enemyDamage": {
                    "enemy": "Beetom",
                    "type": "contact",
                    "hits": 5
                  }
                },
                "h_canBombThings"
              ]
            },
            {
              "enemyDamage": {
                "enemy": "Beetom",
                "type": "contact",
                "hits": 15
              }
            }
          ]
        }
      ],
      "reusableRoomwideNotable": "Frog Speedway Shot Block Overload (Speedless Speedway)",
      "note": [
        "This strat is only usable right to left.",
        "This room has many offscreen shot blocks. Shooting enough of them with wave + spazer or wave + plasma allows you to pass through the speed blocks.",
        "There is just enough time to pass through all of the Speed blocks before they become solid again."
      ]
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Grapple Teleport",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              5,
              3
            ],
            [
              7,
              2
            ]
          ]
        }
      },
      "requires": []
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Grapple Teleport Door Lock Skip",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              12
            ],
            [
              3,
              13
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Carry Grapple Teleport (Top Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              12
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              12
            ]
          ]
        }
      }
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Carry Grapple Teleport (Bottom Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              13
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              13
            ]
          ]
        }
      }
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Transition with Stored Fall Speed",
      "entranceCondition": {
        "comeInWithStoredFallSpeed": {
          "fallSpeedInTiles": 1
        }
      },
      "requires": [
        "SpeedBooster"
      ],
      "exitCondition": {
        "leaveWithStoredFallSpeed": {
          "fallSpeedInTiles": 1
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "missiles",
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ]
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Transition with Stored Fall Speed (more speed)",
      "entranceCondition": {
        "comeInWithStoredFallSpeed": {
          "fallSpeedInTiles": 2
        }
      },
      "requires": [
        "SpeedBooster"
      ],
      "exitCondition": {
        "leaveWithStoredFallSpeed": {
          "fallSpeedInTiles": 2
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "missiles",
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ]
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Transition with Stored Fall Speed (Speedless Speedway)",
      "notable": true,
      "entranceCondition": {
        "comeInWithStoredFallSpeed": {
          "fallSpeedInTiles": 1
        }
      },
      "requires": [
        "Wave",
        {
          "or": [
            "Spazer",
            "Plasma"
          ]
        },
        {
          "enemyDamage": {
            "enemy": "Beetom",
            "type": "contact",
            "hits": 3
          }
        },
        {
          "or": [
            "Ice",
            {
              "ammo": {
                "type": "Missile",
                "count": 1
              }
            },
            {
              "ammo": {
                "type": "Super",
                "count": 1
              }
            },
            "ScrewAttack",
            {
              "and": [
                {
                  "enemyDamage": {
                    "enemy": "Beetom",
                    "type": "contact",
                    "hits": 5
                  }
                },
                "h_canBombThings"
              ]
            },
            {
              "enemyDamage": {
                "enemy": "Beetom",
                "type": "contact",
                "hits": 15
              }
            }
          ]
        }
      ],
      "exitCondition": {
        "leaveWithStoredFallSpeed": {
          "fallSpeedInTiles": 1
        }
      },
      "reusableRoomwideNotable": "Frog Speedway Shot Block Overload (Speedless Speedway)",
      "unlocksDoors": [
        {
          "types": [
            "missiles",
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ],
      "note": [
        "This strat is only usable right to left.",
        "This room has many offscreen shot blocks. Shooting enough of them with wave + spazer or wave + plasma allows you to pass through the speed blocks.",
        "There is just enough time to pass through all of the Speed blocks before they become solid again."
      ]
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Transition with Stored Fall Speed (more speed, Speedless Speedway)",
      "notable": true,
      "entranceCondition": {
        "comeInWithStoredFallSpeed": {
          "fallSpeedInTiles": 2
        }
      },
      "requires": [
        "Wave",
        {
          "or": [
            "Spazer",
            "Plasma"
          ]
        },
        {
          "enemyDamage": {
            "enemy": "Beetom",
            "type": "contact",
            "hits": 3
          }
        },
        {
          "or": [
            "Ice",
            {
              "ammo": {
                "type": "Missile",
                "count": 1
              }
            },
            {
              "ammo": {
                "type": "Super",
                "count": 1
              }
            },
            "ScrewAttack",
            {
              "and": [
                {
                  "enemyDamage": {
                    "enemy": "Beetom",
                    "type": "contact",
                    "hits": 5
                  }
                },
                "h_canBombThings"
              ]
            },
            {
              "enemyDamage": {
                "enemy": "Beetom",
                "type": "contact",
                "hits": 15
              }
            }
          ]
        }
      ],
      "exitCondition": {
        "leaveWithStoredFallSpeed": {
          "fallSpeedInTiles": 2
        }
      },
      "reusableRoomwideNotable": "Frog Speedway Shot Block Overload (Speedless Speedway)",
      "unlocksDoors": [
        {
          "types": [
            "missiles",
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ],
      "note": [
        "This strat is only usable right to left.",
        "This room has many offscreen shot blocks. Shooting enough of them with wave + spazer or wave + plasma allows you to pass through the speed blocks.",
        "There is just enough time to pass through all of the Speed blocks before they become solid again."
      ]
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Leave with Runway",
      "requires": [],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 45,
          "openEnd": 1
        }
      }
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Crystal Flash",
      "requires": [
        "h_canCrystalFlash"
      ]
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Shot Block Overload for Frozen Beetom Moondance",
      "notable": true,
      "requires": [
        "canMoondance",
        "canTrickyUseFrozenEnemies",
        {
          "enemyDamage": {
            "enemy": "Beetom",
            "type": "contact",
            "hits": 2
          }
        },
        "Wave",
        {
          "or": [
            "Spazer",
            "Plasma"
          ]
        }
      ],
      "exitCondition": {
        "leaveWithStoredFallSpeed": {
          "fallSpeedInTiles": 1
        }
      },
      "reusableRoomwideNotable": "Frog Speedway Shot Block Overload (Speedless Speedway)",
      "note": [
        "Fire wide Wave beam shots into the ceiling until it is possible to walk through the Speed blocks.",
        "Let a Beetom attach to Samus and then return to the right.",
        "Freeze the Beetom at head height where Samus can Spinjump into it and begin Moondancing."
      ]
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Shot Block Overload for Frozen Beetom Extended Moondance",
      "notable": true,
      "requires": [
        "canExtendedMoondance",
        "canTrickyUseFrozenEnemies",
        {
          "enemyDamage": {
            "enemy": "Beetom",
            "type": "contact",
            "hits": 2
          }
        },
        "h_ExtendedMoondanceBeetomLeniency",
        "Wave",
        {
          "or": [
            "Spazer",
            "Plasma"
          ]
        }
      ],
      "exitCondition": {
        "leaveWithStoredFallSpeed": {
          "fallSpeedInTiles": 2
        }
      },
      "reusableRoomwideNotable": "Frog Speedway Shot Block Overload (Speedless Speedway)",
      "note": [
        "Fire wide Wave beam shots into the ceiling until it is possible to walk through the Speed blocks.",
        "Let a Beetom attach to Samus and then return to the right.",
        "Freeze the Beetom at head height where Samus can Spinjump into it and begin Moondancing.",
        "After 175 moonfalls, reposition the Beetom to chest height, then continue dancing."
      ]
    },
    {
      "link": [
        2,
        2
      ],
      "name": "G-Mode Setup - Get Hit By Beetom",
      "notable": false,
      "requires": [
        "SpeedBooster"
      ],
      "exitCondition": {
        "leaveWithGModeSetup": {
          "knockback": false
        }
      },
      "note": [
        "Carefully run through the blocks without killing all of the Beetoms or getting attacked by one.",
        "To save Energy, it is possible to lure a Beetom to the door without taking any extra hits and without any items.",
        "Get close enough to it to get it to hop towards Samus, then walk and occasionally run to the door with it following.",
        "It is possible to do this while crossing the room with SpeedBooster by luring one close to the left door and leaving it there, running through, then going back for it."
      ]
    }
  ]
}