canHorizontalMidairShinespark (Hard)

The ability to jump and shinespark horizontally mid-air. From a spin jump, a shinespark wind-up is triggered by releasing either forward or jump (or both) and pressing either up or angle-up. The wind-up is a brief period during which the player can control the direction of the spark. During the wind-up, if jump is pressed together with up, angle-up, or forward, Samus will immediately spark up, diagonally, or horizontally, respectively. If the wind-up expires, Samus will default to a vertical spark. If jump is held when activating the wind-up by pressing up or angle-up, then the wind-up is effectively skipped as the spark activates immediately.

For a mid-air horizontal spark, the sequence is to spin-jump, release jump, tap up or angle-up to activate the wind-up, then press forward and jump to spark; it is also possible to hold forward the entire time; either way, the important points are to be sure to release jump before activating the wind-up, and be sure to release up/angle-up (pressing or holding forward instead) before repressing jump to activate the spark. The wind-up period is fairly lenient, so the timing of the jump input after the up/angle doesn't need to be rushed. Note that mid-air shinesparks can't be performed from a fall, only from a jump.

Dependencies: canMidairShinespark, canShinechargeMovement, canShinespark, canHorizontalShinespark

Difficulty filter

Strats ()

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

It is possible to save a small amount of energy by jumping from the upper right ledge, instead of from the plateau. Use the cues in the background to spark at a precise height.

Requires:

"canDash"
"canInsaneJump"
"canHorizontalMidairShinespark"
{
  "useFlashSuit": {}
}
{
  "or": [
    {
      "shinespark": {
        "frames": 95,
        "excessFrames": 34
      }
    },
    {
      "and": [
        "HiJump",
        {
          "shinespark": {
            "frames": 90,
            "excessFrames": 34
          }
        }
      ]
    }
  ]
}

Clears obstacles: A

Dev note: This is only useful without SpeedBooster and without a way to refill at the ship - i.e. without wall jump to get back up.

From: 4
Bottom Right Door
To: 1
Top Left Door

Requires:

"h_storedSpark"
"canDash"
"canHorizontalMidairShinespark"
{
  "or": [
    {
      "shinespark": {
        "frames": 103,
        "excessFrames": 34
      }
    },
    {
      "and": [
        "HiJump",
        {
          "shinespark": {
            "frames": 99,
            "excessFrames": 34
          }
        }
      ]
    }
  ]
}

Clears obstacles: A

From: 7
Junction (Left Ledge Below Bomb Blocks)
To: 1
Top Left Door

Requires:

"canHorizontalMidairShinespark"
"h_storedSpark"
{
  "shinespark": {
    "frames": 54,
    "excessFrames": 43
  }
}
{
  "or": [
    "canWalljump",
    "SpaceJump",
    {
      "and": [
        "HiJump",
        {
          "or": [
            "canSpeedyJump",
            "canInsaneJump"
          ]
        }
      ]
    }
  ]
}

Clears obstacles: A

Dev note: This can be done with HiJump alone; it requires a precise spin jump and then a very precise horizontal spark at the top of the jump.

From: 1
Left Door
To: 2
Right Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 6,
    "openEnd": 0,
    "steepUpTiles": 1,
    "steepDownTiles": 1
  }
}

Requires:

"canHorizontalShinespark"
{
  "or": [
    {
      "shinespark": {
        "frames": 92,
        "excessFrames": 9
      }
    },
    {
      "and": [
        "canHorizontalMidairShinespark",
        {
          "shinespark": {
            "frames": 86,
            "excessFrames": 16
          }
        }
      ]
    },
    {
      "and": [
        "canShinechargeMovementComplex",
        "Morph",
        {
          "shinespark": {
            "frames": 66,
            "excessFrames": 0
          }
        }
      ]
    }
  ]
}

Dev note: Shinespark against the bomb blocks or from the raised spot in order to make it all the way through to avoid bonking and potentially falling in the acid. With 99 Energy, it is best to spark from directly above the flat tile to the right of the raised part of the runway. With at least 105 Energy, it is best to spark against the right wall. With Morph, it is also possible to quickly spark from the flat tile or somewhat low if sparking midair, in order to bonk on the last row of bomb blocks and not fall into the acid.

From: 1
Left Door
To: 2
Right Door

Shinespark below the top block or Samus will crash into a solid wall.

Entrance condition:

{
  "comeInShinecharged": {}
}

Requires:

{
  "shineChargeFrames": 50
}
"canHorizontalMidairShinespark"
{
  "shinespark": {
    "frames": 85,
    "excessFrames": 20
  }
}
From: 2
Right Door
To: 1
Left Door

Requires:

"canHorizontalMidairShinespark"
{
  "useFlashSuit": {}
}
{
  "shinespark": {
    "frames": 79,
    "excessFrames": 14
  }
}
From: 2
Right Door
To: 1
Left Door

Wait for the acid to clear before moving to shinespark on the other side of the bomb blocks.

Entrance condition:

{
  "comeInShinecharging": {
    "length": 6,
    "openEnd": 1,
    "steepUpTiles": 1,
    "steepDownTiles": 1
  }
}

Requires:

"canHorizontalMidairShinespark"
{
  "shinespark": {
    "frames": 80,
    "excessFrames": 13
  }
}
From: 3
Item
To: 2
Right Door

Requires:

"h_storedSpark"
"canHorizontalMidairShinespark"
{
  "shinespark": {
    "frames": 16,
    "excessFrames": 0
  }
}

Exit condition:

{
  "leaveWithSpark": {}
}

Unlocks doors:

{"types":["super"],"requires":[]}
{"types":["missiles","powerbomb"],"requires":["never"]}
From: 1
Lower Section - Bottom Left Door
To: 5
Lower Section - Bottom Right Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 23,
    "openEnd": 1,
    "steepUpTiles": 1,
    "steepDownTiles": 6
  }
}

Requires:

"canHorizontalShinespark"
{
  "or": [
    {
      "shinespark": {
        "frames": 131,
        "excessFrames": 35
      }
    },
    {
      "and": [
        "canHorizontalMidairShinespark",
        {
          "shinespark": {
            "frames": 106,
            "excessFrames": 35
          }
        }
      ]
    }
  ]
}
From: 13
Bottom Junction
To: 5
Lower Section - Bottom Right Door

Requires:

"canHorizontalShinespark"
{
  "or": [
    {
      "canShineCharge": {
        "usedTiles": 23,
        "steepUpTiles": 6,
        "steepDownTiles": 1,
        "openEnd": 1
      }
    },
    {
      "and": [
        {
          "canShineCharge": {
            "usedTiles": 24,
            "steepUpTiles": 6,
            "steepDownTiles": 1,
            "openEnd": 1
          }
        },
        {
          "doorUnlockedAtNode": 1
        }
      ]
    }
  ]
}
{
  "or": [
    {
      "shinespark": {
        "frames": 131,
        "excessFrames": 36
      }
    },
    {
      "and": [
        "canHorizontalMidairShinespark",
        {
          "shinespark": {
            "frames": 109,
            "excessFrames": 37
          }
        }
      ]
    },
    {
      "and": [
        "canHorizontalMidairShinespark",
        "h_speedJump",
        {
          "shinespark": {
            "frames": 102,
            "excessFrames": 0
          }
        }
      ]
    }
  ]
}

Unlocks doors:

{"nodeId":1,"types":["ammo"],"requires":[]}
From: 13
Bottom Junction
To: 5
Lower Section - Bottom Right Door

Open the right door before sparking to spark out of it.

Requires:

{
  "or": [
    "canCarefulJump",
    "Grapple",
    "Wave",
    "SpaceJump"
  ]
}
{
  "or": [
    {
      "canShineCharge": {
        "usedTiles": 23,
        "steepUpTiles": 6,
        "steepDownTiles": 1,
        "openEnd": 1
      }
    },
    {
      "and": [
        {
          "canShineCharge": {
            "usedTiles": 24,
            "steepUpTiles": 6,
            "steepDownTiles": 1,
            "openEnd": 1
          }
        },
        {
          "doorUnlockedAtNode": 1
        }
      ]
    }
  ]
}
{
  "or": [
    {
      "shinespark": {
        "frames": 131,
        "excessFrames": 0
      }
    },
    {
      "and": [
        "canHorizontalMidairShinespark",
        {
          "shinespark": {
            "frames": 109,
            "excessFrames": 0
          }
        }
      ]
    },
    {
      "and": [
        "canHorizontalMidairShinespark",
        "h_speedJump",
        {
          "shinespark": {
            "frames": 102,
            "excessFrames": 0
          }
        }
      ]
    }
  ]
}

Exit condition:

{
  "leaveWithSpark": {}
}

Unlocks doors:

{"nodeId":1,"types":["ammo"],"requires":[]}
{"nodeId":5,"types":["ammo"],"requires":[]}

Dev note: The right door could be an obstacle, but with this shinecharge, a careful jump is probably fair to include. This room is already pretty complex, so adding an obstacle is fairly significant.

From: 1
Left Door
To: 2
Right Door

Entrance condition:

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

Requires:

"canHorizontalShinespark"
{
  "or": [
    {
      "shinespark": {
        "frames": 142,
        "excessFrames": 60
      }
    },
    {
      "and": [
        "canHorizontalMidairShinespark",
        {
          "shinespark": {
            "frames": 132,
            "excessFrames": 60
          }
        }
      ]
    }
  ]
}

Dev note: FIXME: Could be doable tankless if the shinecharge happened in the previous room and then Samus ran out with more speed.

From: 2
Right Door
To: 1
Left Door

Entrance condition:

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

Requires:

"canHorizontalShinespark"
{
  "or": [
    {
      "shinespark": {
        "frames": 143,
        "excessFrames": 6
      }
    },
    {
      "and": [
        "canHorizontalMidairShinespark",
        {
          "shinespark": {
            "frames": 132,
            "excessFrames": 6
          }
        }
      ]
    }
  ]
}

Dev note: It's possible to save a couple frames by partially crossing the platforms before sparking, but getting a running jump is nearly as good.

From: 2
Right Door
To: 1
Left Door

Requires:

"h_storedSpark"
"canDash"
"canHorizontalMidairShinespark"
{
  "shinespark": {
    "frames": 99,
    "excessFrames": 5
  }
}
From: 1
Top Left Door
To: 6
Top Right Door

After landing, do a small jump and spark mid-air. Alternatively, if you can avoid tripping while entering the room, another option is to moonwalk back against the left door to get high enough to spark without bonking the platform on the right.

Entrance condition:

{
  "comeInShinecharged": {}
}

Requires:

{
  "shineChargeFrames": 30
}
{
  "or": [
    "canHorizontalMidairShinespark",
    "canMoonwalk"
  ]
}
{
  "shinespark": {
    "frames": 18,
    "excessFrames": 0
  }
}

Exit condition:

{
  "leaveWithSpark": {
    "position": "bottom"
  }
}

Unlocks doors:

{"types":["super"],"requires":[]}
{"types":["missiles","powerbomb"],"requires":["never"]}
From: 4
Central Junction
To: 3
Item

Requires:

{
  "or": [
    "f_DefeatedCrocomire",
    {
      "obstaclesCleared": [
        "f_DefeatedCrocomire"
      ]
    }
  ]
}
"canHorizontalMidairShinespark"
"h_shinechargeMaxRunway"
{
  "or": [
    {
      "shinespark": {
        "frames": 45,
        "excessFrames": 5
      }
    },
    {
      "and": [
        "canShinechargeMovementComplex",
        {
          "shinespark": {
            "frames": 25,
            "excessFrames": 1
          }
        }
      ]
    },
    {
      "and": [
        "canShinechargeMovementComplex",
        "h_speedJump",
        "canTrickyJump",
        {
          "shinespark": {
            "frames": 6,
            "excessFrames": 4
          }
        }
      ]
    }
  ]
}
From: 1
Left Door
To: 3
Junction Left of Green Gate

Entrance condition:

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

Requires:

"canHorizontalShinespark"
{
  "or": [
    {
      "shinespark": {
        "frames": 54,
        "excessFrames": 3
      }
    },
    {
      "and": [
        "canHorizontalMidairShinespark",
        {
          "shinespark": {
            "frames": 47,
            "excessFrames": 3
          }
        }
      ]
    },
    {
      "and": [
        "canShinechargeMovementComplex",
        {
          "shinespark": {
            "frames": 42,
            "excessFrames": 4
          }
        }
      ]
    }
  ]
}
From: 1
Top Left Door
To: 4
Top Right Door

Entrance condition:

{
  "comeInShinecharged": {}
}

Requires:

{
  "shineChargeFrames": 45
}
"canHorizontalMidairShinespark"
{
  "shinespark": {
    "frames": 29,
    "excessFrames": 5
  }
}
From: 4
Top Right Door
To: 1
Top Left Door

Entrance condition:

{
  "comeInShinecharged": {}
}

Requires:

{
  "shineChargeFrames": 45
}
"canHorizontalMidairShinespark"
{
  "shinespark": {
    "frames": 29,
    "excessFrames": 5
  }
}
From: 1
Left Door
To: 2
Right Door

Entrance condition:

{
  "comeInShinecharged": {}
}

Requires:

{
  "shineChargeFrames": 15
}
"canHorizontalMidairShinespark"
{
  "shinespark": {
    "frames": 57,
    "excessFrames": 4
  }
}
{
  "heatFrames": 230
}
From: 2
Right Door
To: 1
Left Door

Entrance condition:

{
  "comeInShinecharged": {}
}

Requires:

{
  "shineChargeFrames": 15
}
"h_navigateHeatRooms"
"canHorizontalMidairShinespark"
{
  "shinespark": {
    "frames": 59,
    "excessFrames": 5
  }
}
{
  "heatFrames": 190
}
From: 1
Left Door
To: 4
Elevator

Entrance condition:

{
  "comeInShinecharged": {}
}

Requires:

{
  "shineChargeFrames": 16
}
"h_navigateHeatRooms"
"canHorizontalMidairShinespark"
{
  "shinespark": {
    "frames": 75,
    "excessFrames": 10
  }
}
{
  "heatFrames": 270
}
From: 4
Elevator
To: 1
Left Door

Shinecharge either right to left or left to right before horizontally sparking across the room. Use the raised step to the left or the lowered step to the right to be able to find the end of the runway.

Entrance condition:

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

Requires:

"canOffScreenMovement"
"canHorizontalMidairShinespark"
{
  "canShineCharge": {
    "usedTiles": 24,
    "openEnd": 1
  }
}
{
  "shinespark": {
    "frames": 75,
    "excessFrames": 5
  }
}
"h_heatedGModeOffCameraDoor"
From: 4
Elevator
To: 1
Left Door

Requires:

"canHorizontalMidairShinespark"
{
  "canShineCharge": {
    "usedTiles": 24,
    "openEnd": 1
  }
}
{
  "shinespark": {
    "frames": 75,
    "excessFrames": 5
  }
}
{
  "heatFrames": 380
}
From: 1
Left Door
To: 2
Right Door

Entrance condition:

{
  "comeInShinecharged": {}
}

Requires:

{
  "shineChargeFrames": 65
}
{
  "heatFrames": 135
}
"canHorizontalMidairShinespark"
{
  "or": [
    {
      "and": [
        {
          "shinespark": {
            "frames": 66,
            "excessFrames": 5
          }
        },
        {
          "heatFrames": 105
        }
      ]
    },
    {
      "and": [
        {
          "shinespark": {
            "frames": 66,
            "excessFrames": 15
          }
        },
        {
          "heatFrames": 165
        }
      ]
    }
  ]
}

Unlocks doors:

{"types":["missiles"],"requires":[{"heatFrames":50}]}
{"types":["super"],"requires":[]}
{"types":["powerbomb"],"requires":[{"heatFrames":110}]}

Dev note: This assumes sparking near the pillars, since sparking near the door is already covered by the comeInWithSpark strat. 5 excess frames is the maximum for which it is still be possible to reach the door without running out of energy, in the case where the shinespark ends at 29 energy and Samus has no heat protection (or reserves to refill from). The alternative with 15 excess frames is mainly useful in the heat-proof case.

From: 1
Left Door
To: 2
Right Door

Entrance condition:

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

Requires:

{
  "heatFrames": 150
}
"canHorizontalMidairShinespark"
{
  "or": [
    {
      "and": [
        {
          "shinespark": {
            "frames": 66,
            "excessFrames": 5
          }
        },
        {
          "heatFrames": 105
        }
      ]
    },
    {
      "and": [
        {
          "shinespark": {
            "frames": 66,
            "excessFrames": 15
          }
        },
        {
          "heatFrames": 165
        }
      ]
    }
  ]
}

Unlocks doors:

{"types":["missiles"],"requires":[{"heatFrames":50}]}
{"types":["super"],"requires":[]}
{"types":["powerbomb"],"requires":[{"heatFrames":110}]}

Dev note: This assumes sparking near the pillars. 5 excess frames is the maximum for which it is still be possible to reach the door without running out of energy, in the case where the shinespark ends at 29 energy and Samus has no heat protection (or reserves to refill from). The alternative with 15 excess frames is mainly useful in the heat-proof case.

From: 2
Right Door
To: 1
Left Door

Entrance condition:

{
  "comeInShinecharged": {}
}

Requires:

"canHorizontalMidairShinespark"
{
  "shineChargeFrames": 65
}
{
  "heatFrames": 135
}
{
  "or": [
    {
      "and": [
        {
          "shinespark": {
            "frames": 67,
            "excessFrames": 5
          }
        },
        {
          "heatFrames": 105
        }
      ]
    },
    {
      "and": [
        {
          "shinespark": {
            "frames": 67,
            "excessFrames": 16
          }
        },
        {
          "or": [
            {
              "and": [
                "canControlShinesparkEnd",
                {
                  "or": [
                    "canInsaneJump",
                    {
                      "and": [
                        "canTrickyJump",
                        "canWalljump"
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "and": [
                {
                  "acidFrames": 10
                },
                {
                  "heatFrames": 20
                },
                {
                  "or": [
                    "HiJump",
                    "canWalljump"
                  ]
                }
              ]
            }
          ]
        },
        {
          "heatFrames": 200
        }
      ]
    }
  ]
}

Unlocks doors:

{"types":["missiles"],"requires":[{"heatFrames":50}]}
{"types":["super"],"requires":[]}
{"types":["powerbomb"],"requires":[{"heatFrames":110}]}

Dev note: This assumes sparking near the pillars, since sparking near the door is already covered by the comeInWithSpark strat. 5 excess frames is the maximum for which it is still be possible to reach the door without running out of energy, in the case where the shinespark ends at 29 energy and Samus has no heat protection (or reserves to refill from). The alternative with 16 excess frames is mainly useful in the heat-proof case.

From: 2
Right Door
To: 1
Left Door

Entrance condition:

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

Requires:

"canHorizontalMidairShinespark"
{
  "or": [
    {
      "and": [
        {
          "heatFrames": 105
        },
        {
          "shinespark": {
            "frames": 67,
            "excessFrames": 5
          }
        },
        {
          "heatFrames": 105
        }
      ]
    },
    {
      "and": [
        {
          "heatFrames": 165
        },
        {
          "shinespark": {
            "frames": 67,
            "excessFrames": 16
          }
        },
        {
          "or": [
            {
              "and": [
                "canControlShinesparkEnd",
                {
                  "or": [
                    "canInsaneJump",
                    {
                      "and": [
                        "canTrickyJump",
                        "canWalljump"
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "and": [
                {
                  "acidFrames": 10
                },
                {
                  "heatFrames": 20
                },
                {
                  "or": [
                    "HiJump",
                    "canWalljump"
                  ]
                }
              ]
            }
          ]
        },
        {
          "heatFrames": 200
        }
      ]
    }
  ]
}

Unlocks doors:

{"types":["missiles"],"requires":[{"heatFrames":50}]}
{"types":["super"],"requires":[]}
{"types":["powerbomb"],"requires":[{"heatFrames":110}]}

Dev note: 5 excess frames is the maximum for which it is still be possible to reach the door without running out of energy, in the case where the shinespark ends at 29 energy and Samus has no heat protection (or reserves to refill from). The alternative with 16 excess frames is mainly useful in the heat-proof case.

From: 1
Left Door
To: 1
Left Door

Requires:

{
  "obstaclesCleared": [
    "A"
  ]
}
{
  "canShineCharge": {
    "usedTiles": 35,
    "openEnd": 1
  }
}
"canHorizontalMidairShinespark"
{
  "shinespark": {
    "frames": 80,
    "excessFrames": 0
  }
}

Exit condition:

{
  "leaveWithSpark": {}
}
From: 2
Middle Left Door
To: 6
Bowling Chozo Statue

Entrance condition:

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

Requires:

{
  "or": [
    {
      "shinespark": {
        "frames": 89,
        "excessFrames": 7
      }
    },
    {
      "and": [
        "canHorizontalMidairShinespark",
        {
          "shinespark": {
            "frames": 82,
            "excessFrames": 9
          }
        }
      ]
    }
  ]
}
From: 2
Middle Left Door
To: 6
Bowling Chozo Statue

Requires:

"canHorizontalMidairShinespark"
"h_storedSpark"
"canDash"
{
  "shinespark": {
    "frames": 82,
    "excessFrames": 8
  }
}
From: 1
Left Door
To: 2
Right Door

Entrance condition:

{
  "comeInShinecharged": {}
}

Requires:

{
  "shineChargeFrames": 30
}
"canHorizontalMidairShinespark"
{
  "shinespark": {
    "frames": 39,
    "excessFrames": 10
  }
}
Shinespark (Very Hard)
Fish Tank
From: 4
Top Left Door
To: 7
Platform Below Top Right Door

Immediately spark after the door transition into the wall just to the right of the top right door.

Entrance condition:

{
  "comeInShinecharged": {},
  "comesThroughToilet": "any"
}

Requires:

{
  "shineChargeFrames": 10
}
"Gravity"
"canPrepareForNextRoom"
"canHorizontalMidairShinespark"
{
  "shinespark": {
    "frames": 70,
    "excessFrames": 16
  }
}
From: 4
Top Left Door
To: 7
Platform Below Top Right Door

Immediately spark after the door transition into the wall just to the right of the top right door.

Entrance condition:

{
  "comeInShinecharged": {},
  "comesThroughToilet": "any"
}

Requires:

{
  "shineChargeFrames": 10
}
"canSuitlessMaridia"
"canPrepareForNextRoom"
"canHorizontalMidairShinespark"
{
  "shinespark": {
    "frames": 88,
    "excessFrames": 21
  }
}
From: 1
Top Left Door
To: 9
Platform Below Top Door

Crouch on the lowest stair, then shinespark horizontally to bonk at the top corner of the grapple block. Down grab to get onto it.

Entrance condition:

{
  "comeInShinecharged": {}
}

Requires:

{
  "shineChargeFrames": 110
}
{
  "notable": "Shinespark Down-Grab to the Grapple Blocks (Left to Top)"
}
"canSuitlessMaridia"
"h_underwaterCrouchJumpDownGrab"
"canHorizontalMidairShinespark"
{
  "shinespark": {
    "frames": 56,
    "excessFrames": 0
  }
}

Dev note: This is only done suitless, as with Gravity, you can gravity jump up there. A similar strat can be done from the top right door, but it doesn't have a nice setup and has to be done midair. FIXME: Add a variant with canControlShinesparkEnd.

From: 5
Top Door
To: 1
Top Left Door

Entrance condition:

{
  "comeInShinecharged": {},
  "comesThroughToilet": "any"
}

Requires:

{
  "shineChargeFrames": 15
}
"canSuitlessMaridia"
"canPrepareForNextRoom"
"canHorizontalMidairShinespark"
{
  "shinespark": {
    "frames": 67,
    "excessFrames": 10
  }
}

Dev note: Frames assume you spark before landing on the Grapple blocks.

From: 5
Top Door
To: 1
Top Left Door

Entrance condition:

{
  "comeInShinecharged": {},
  "comesThroughToilet": "any"
}

Requires:

{
  "shineChargeFrames": 90
}
"canSuitlessMaridia"
"canHorizontalMidairShinespark"
{
  "shinespark": {
    "frames": 61,
    "excessFrames": 10
  }
}

Dev note: This could be done with Gravity to save Energy, but getting from 5 to 1 with Gravity and Speed Booster is free.

From: 5
Top Door
To: 4
Top Right Door

Entrance condition:

{
  "comeInShinecharged": {},
  "comesThroughToilet": "any"
}

Requires:

{
  "shineChargeFrames": 55
}
"Gravity"
"canHorizontalMidairShinespark"
{
  "shinespark": {
    "frames": 69,
    "excessFrames": 6
  }
}

Dev note: Frames assume you land on the Grapple blocks before jumping and shinesparking.

From: 5
Top Door
To: 4
Top Right Door

Entrance condition:

{
  "comeInShinecharged": {},
  "comesThroughToilet": "any"
}

Requires:

{
  "shineChargeFrames": 15
}
"Gravity"
"canPrepareForNextRoom"
"canHorizontalMidairShinespark"
{
  "shinespark": {
    "frames": 72,
    "excessFrames": 6
  }
}

Dev note: Frames assume you spark before landing on the Grapple blocks.

From: 5
Top Door
To: 4
Top Right Door

Entrance condition:

{
  "comeInShinecharged": {},
  "comesThroughToilet": "any"
}

Requires:

{
  "shineChargeFrames": 20
}
"canSuitlessMaridia"
"canPrepareForNextRoom"
"canHorizontalMidairShinespark"
{
  "shinespark": {
    "frames": 93,
    "excessFrames": 12
  }
}

Dev note: Frames assume you spark before landing on the Grapple blocks.

From: 5
Top Door
To: 4
Top Right Door

Entrance condition:

{
  "comeInShinecharged": {},
  "comesThroughToilet": "any"
}

Requires:

{
  "shineChargeFrames": 90
}
"canSuitlessMaridia"
"canHorizontalMidairShinespark"
{
  "shinespark": {
    "frames": 86,
    "excessFrames": 12
  }
}

Dev note: Frames assume you land on the Grapple blocks before jumping and shinesparking.

From: 1
Left Door
To: 5
Item

Entrance condition:

{
  "comeInShinechargedJumping": {}
}

Requires:

{
  "shineChargeFrames": 25
}
"canMidAirMorph"
"canCrossRoomJumpIntoWater"
"canHorizontalMidairShinespark"
{
  "shinespark": {
    "frames": 55,
    "excessFrames": 0
  }
}

Collects items: 5

From: 4
Right Door
To: 6
Junction Right of Morph Passage

Entrance condition:

{
  "comeInShinechargedJumping": {}
}

Requires:

{
  "shineChargeFrames": 20
}
"Morph"
"canCrossRoomJumpIntoWater"
"canHorizontalMidairShinespark"
{
  "shinespark": {
    "frames": 46,
    "excessFrames": 3
  }
}
From: 1
Left Door
To: 2
Right Door

Shinespark midair to avoid bonking. Jump outward before sparking save Energy.

Entrance condition:

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

Requires:

"Gravity"
"canHorizontalMidairShinespark"
{
  "shinespark": {
    "frames": 49,
    "excessFrames": 4
  }
}
From: 2
Right Door
To: 1
Left Door

Shinespark midair to avoid bonking. Jump outward before sparking save Energy.

Entrance condition:

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

Requires:

"Gravity"
"canHorizontalMidairShinespark"
{
  "shinespark": {
    "frames": 48,
    "excessFrames": 4
  }
}
From: 1
Left Door
To: 2
Right Door

Shinecharge just before the second Metroid comes on camera, jump over it and spark against the ceiling to avoid the rest of them. Sparking lower will likely get Samus grabbed by the right-most Metroid.

Requires:

{
  "canShineCharge": {
    "usedTiles": 26,
    "openEnd": 0
  }
}
"canHorizontalMidairShinespark"
{
  "or": [
    {
      "and": [
        "canMetroidAvoid",
        {
          "shinespark": {
            "frames": 50,
            "excessFrames": 5
          }
        }
      ]
    },
    {
      "and": [
        {
          "shinespark": {
            "frames": 54,
            "excessFrames": 0
          }
        },
        {
          "metroidFrames": 300
        }
      ]
    }
  ]
}
From: 1
Left Door
To: 2
Right Door

Requires:

{
  "or": [
    "f_KilledMetroidRoom1",
    {
      "obstaclesCleared": [
        "f_KilledMetroidRoom1"
      ]
    }
  ]
}
{
  "canShineCharge": {
    "usedTiles": 31,
    "openEnd": 0
  }
}
"canHorizontalMidairShinespark"
{
  "or": [
    {
      "shinespark": {
        "frames": 37,
        "excessFrames": 7
      }
    },
    {
      "and": [
        "canControlShinesparkEnd",
        {
          "shinespark": {
            "frames": 37,
            "excessFrames": 22
          }
        }
      ]
    }
  ]
}
From: 2
Right Door
To: 1
Left Door

Requires:

"canHorizontalMidairShinespark"
{
  "canShineCharge": {
    "usedTiles": 23,
    "openEnd": 0
  }
}
{
  "or": [
    "Ice",
    {
      "and": [
        "canDodgeWhileShooting",
        "ScrewAttack"
      ]
    },
    {
      "and": [
        "canDodgeWhileShooting",
        "canPseudoScrew"
      ]
    },
    "canMetroidAvoid",
    {
      "metroidFrames": 200
    }
  ]
}
{
  "shinespark": {
    "frames": 80,
    "excessFrames": 5
  }
}
From: 2
Right Door
To: 1
Left Door

Requires:

{
  "or": [
    "f_KilledMetroidRoom1",
    {
      "obstaclesCleared": [
        "f_KilledMetroidRoom1"
      ]
    }
  ]
}
"canHorizontalMidairShinespark"
{
  "canShineCharge": {
    "usedTiles": 23,
    "openEnd": 0
  }
}
{
  "or": [
    {
      "shinespark": {
        "frames": 80,
        "excessFrames": 48
      }
    },
    {
      "and": [
        "canShinechargeMovementComplex",
        {
          "shinespark": {
            "frames": 68,
            "excessFrames": 38
          }
        }
      ]
    }
  ]
}